{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ogeTPu0m7Em6"
   },
   "source": [
    "<i>Copyright (c) Microsoft Corporation. All rights reserved.</i>\n",
    "\n",
    "<i>Licensed under the MIT License.</i>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "XcSewSRc7Em7"
   },
   "source": [
    "# Variational Autoencoders for Collaborative Filtering on MovieLens dataset. \n",
    "\n",
    "This notebook accompanies the paper \"*Variational autoencoders for collaborative filtering*\" by Dawen Liang, Rahul G. Krishnan, Matthew D. Hoffman, and Tony Jebara, in The Web Conference (aka WWW) 2018 [[Liang, Dawen, et al,2018]](https://arxiv.org/pdf/1802.05814.pdf). In this original paper, the public dataset \"20M-MovieLens\" is used. However, in our notebook, we used the \"1M-MovieLens\" dataset because it takes less time for the model to train.\n",
    "\n",
    "In this notebook, we will show a complete self-contained example of training a Multinomial Variational Autoencoder (described in the original paper) on the public \"1M-Movielens\" dataset, including data preprocessing, model training and model evaluation.  In the whole notebook we assume that the reader has basic knowledge about VAE [[Kingma et al, 2013]](https://arxiv.org/pdf/1312.6114.pdf). \n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wqTaWp1M7Em8"
   },
   "source": [
    "# 0 Global Settings and Imports\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "wamiZgm--Zu8"
   },
   "outputs": [],
   "source": [
    "# download the necessary libraries \n",
    "! pip install tensorflow==2.2.0-rc1\n",
    "! pip install keras==2.3.1\n",
    "! pip install papermill"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 115
    },
    "id": "AXyb1KV27Em9",
    "outputId": "adeb8ab8-b6b3-4757-c038-5dc1c15c3e84"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "System version: 3.6.9 (default, Jul 17 2020, 12:50:27) \n",
      "[GCC 8.4.0]\n",
      "Pandas version: 1.1.3\n",
      "Tensorflow version: 2.2.0-rc1\n",
      "Keras version: 2.3.1\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "sys.path.append(\"../../\")\n",
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import papermill as pm\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "import tensorflow as tf\n",
    "import keras\n",
    "\n",
    "from reco_utils.common.timer import Timer\n",
    "from reco_utils.dataset import movielens\n",
    "from reco_utils.dataset.split_utils import min_rating_filter_pandas\n",
    "from reco_utils.dataset.python_splitters import numpy_stratified_split\n",
    "from reco_utils.evaluation.python_evaluation import map_at_k, ndcg_at_k, precision_at_k, recall_at_k\n",
    "\n",
    "from reco_utils.dataset.sparse import AffinityMatrix\n",
    "from reco_utils.common.python_utils import binarize\n",
    "from reco_utils.recommender.vae.multinomial_vae import Mult_VAE\n",
    "\n",
    "from tempfile import TemporaryDirectory\n",
    "\n",
    "print(\"System version: {}\".format(sys.version))\n",
    "print(\"Pandas version: {}\".format(pd.__version__))\n",
    "print(\"Tensorflow version: {}\".format(tf.__version__))\n",
    "print(\"Keras version: {}\".format(keras.__version__))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "id": "8QG94ZPZa1oj"
   },
   "outputs": [],
   "source": [
    "# top k items to recommend\n",
    "TOP_K = 100\n",
    "\n",
    "# Select MovieLens data size: 100k, 1m, 10m, or 20m\n",
    "MOVIELENS_DATA_SIZE = '1m'\n",
    "\n",
    "# Model parameters\n",
    "HELDOUT_USERS = 600 # CHANGE FOR DIFFERENT DATASIZE\n",
    "INTERMEDIATE_DIM = 200\n",
    "LATENT_DIM = 70\n",
    "EPOCHS = 400\n",
    "BATCH_SIZE = 100\n",
    "\n",
    "# temporary Path to save the optimal model's weights\n",
    "tmp_dir = TemporaryDirectory()\n",
    "WEIGHTS_PATH = os.path.join(tmp_dir, \"mvae_weights.hdf5\")\n",
    "\n",
    "SEED = 98765"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "C5ADl4Cu7EnD"
   },
   "source": [
    "# 1 Multi-VAE algorithm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ysxIWUcI7EnD"
   },
   "source": [
    "__Notations__: The notation used is described below.\n",
    "\n",
    "\n",
    "$u \\in \\{1,\\dots,U\\}$ to index users and $i \\in \\{1,\\dots,I\\}$ to index items. The user-by-item interaction matrix is the click matrix $\\mathbf{X} \\in \\mathbb{N}^{U\\times I}$, which is given as an input to the model. The lower case $\\mathbf{x}_u =[X_{u1},\\dots,X_{uI}]^\\top \\in \\mathbb{N}^I$ is a bag-of-words vector with the number of clicks for each item from user u. The click matrix is binarized. It is straightforward to extend it to general count data."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "iUWe_gu8zzV1"
   },
   "source": [
    "__Multi-VAE Model__: \n",
    "\n",
    "For each user u, the model starts by sampling a $K$-dimensional latent representation $\\mathbf{z}_u$ from a standard Gaussian prior. The latent representation $\\mathbf{z}_u$ is transformed via a non-linear function $f_\\theta (\\cdot) \\in \\mathbb{R}^I$ to produce a probability distribution over $I$ items $\\pi (\\mathbf{z}_u)$ from which the click history $\\mathbf{x}_u$ is assumed to have been drawn:\n",
    "\n",
    "$$\n",
    "\\mathbf{z}_u \\sim \\mathcal{N}(0, \\mathbf{I}_K),  \\pi(\\mathbf{z}_u) = softmax\\{f_\\theta (\\mathbf{z}_u\\},\\\\\n",
    "\\mathbf{x}_u \\sim \\mathrm{Mult}(N_u, \\pi(\\mathbf{z}_u))\n",
    "$$\n",
    "\n",
    "$\\mathbf{z}_u$ needs to be sampled from an approximate posterior   $q_\\phi (\\mathbf{z}_u | \\mathbf{x}_u )$, which is assumed to be a Gaussian. To compute the gradients the reparametrization trick is used and $\\mathbf{z}_u$ is calculated by the formula \n",
    "$$\n",
    "\\mathbf{z}_u = \\mathbf\\mu(x_u)+\\mathbf\\sigma(x_u) \\cdot \\mathbf\\epsilon\n",
    "$$\n",
    "\n",
    "where $\\mathbf\\epsilon \\sim \\mathcal{N}(0, \\mathbf{I})$ and $ \\mathbf\\mu(x_u), \\sigma(x_u)$ are calculated in encoder.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "j2gUVWiOz2SS"
   },
   "source": [
    "The objective of Multi-VAE for a single user $u$ is:\n",
    "\n",
    "$$\n",
    "\\mathcal{L}_u(\\theta, \\phi) = \\mathbb{E}_{q_\\phi(z_u | x_u)}[\\log p_\\theta(x_u | z_u)] - \\beta \\cdot KL(q_\\phi(z_u | x_u) \\| p(z_u))\n",
    "$$\n",
    "\n",
    "where $q_\\phi$ is the approximating variational distribution (inference model/ encoder), and  $p_\\theta$ refers to generative model/decoder. The first term is the log-likelohood and the second term is the  Kullback-Leibler divergence term.\n",
    "\n",
    "Regarding the first term, we use the multinomial log-likelihood formula as proposed in the original paper:\n",
    "\n",
    "$$\\log p_\\theta(\\mathbf{x}_u | \\mathbf{z}_u) = \\sum_{i} \\mathbf{x}_{ui}\\log \\mathbf{\\pi}_i (z_u) $$\n",
    "\n",
    "The authors use multinomial likelihood which is intuitively better for modeling implicit feedback and as it is proven by their research work performs better than logistic or gaussian likelihoods, which are typically more popular in the literature. By using multinomial likelihood, they are treating the problem as multi-class classification. As the authors discuss in the paper in section 2.1: \"this likelihood rewards the model for putting probability mass on the non-zero entries in $x_u$. But the model has a limited budget of probability mass, since $\\pi(z_u)$ must sum to 1; the items must compete for this limited budget. The model should therefore assign more probability mass to items that are more likely to be clicked.\"\n",
    "\n",
    "Also, $\\mathbf KL-divergence$ is treated as a regularization term as described from[[Higgins et al, 2016]](https://openreview.net/pdf?id=Sy2fzU9gl), [[Burgess et al, 2018]](https://arxiv.org/pdf/1804.03599.pdf) : \n",
    "\n",
    "\n",
    "1. When $\\mathbf \\beta = 1$ corresponds to the original VAE formulation of [[Kingma et al, 2013]](https://arxiv.org/pdf/1312.6114.pdf)\n",
    "\n",
    "2. Setting $\\mathbf \\beta > 1$, provides a stronger constraint on the latent bottleneck than in the original VAE formulation. These constraints limit the capacity of $\\mathbf z$, which, combined with the pressure to maximise the log likelihood of the training data $\\mathbf x$ under the model, should encourage the model to learn the most efficient representation of the data.\n",
    "\n",
    "3. Setting $\\mathbf \\beta<1$. In case of recommendation systems our goal is to make good recommendations and not reconstruct the input as close as possible to the initial input, or in other words to maximize the log likelihood. So if we set β<1, then we are weakening the influence of the prior. Futher details can be found in section 2.2 of [[Liang, Dawen, et al,2018]](https://arxiv.org/pdf/1802.05814.pdf).\n",
    "\n",
    "As a result, for the reasons explained above in 3., the KL-divergence is multiplied by the parameter $\\beta \\in [0,1]$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "r_TtihvZKjjX"
   },
   "source": [
    "__Selecting β:__ As proposed from the original paper, a simple heuristic methodology is used for selecting  $\\mathbf \\beta$ . The training process starts with $\\mathbf \\beta  = 0$, and gradually increase $\\mathbf \\beta$ to 1. The $\\mathbf KL$ term is slowly annealed over a large number of gradient updates to $\\mathbf \\theta , \\phi $. The optimal $\\mathbf \\beta$ is recorded when the performance of the model reaches the peak. Then using this optimal beta the model is retrained using the same annealing procedure, but $\\mathbf \\beta$ stops increasing when it reaches the optimal value found in the previous step.\n",
    "\n",
    "This method works well and with the benefit that it does not require training multiple models with different values of $\\mathbf \\beta$, which can be time-consuming. This idea is based on the paper \n",
    "[[Bowman et al, 2015]](https://arxiv.org/pdf/1511.06349.pdf). This methodology is explained in more detail in section (4)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "xd0RPMhD7EnE"
   },
   "source": [
    "# 2 Keras implementation of Multi-VAE\n",
    "\n",
    "For the implementation of the model, Keras package is used. \n",
    "\n",
    "For the scope of the project, the MovieLens dataset is used, which is composed of user-to-item interactions and integer ratings from 1 to 5. We convert MovieLens into binarized clicked matrix ( 1: the user liked this movie , 0: the user did NOT like or did NOT watch/rate this movie), and evaluate based on heldout users data.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qCKNsE9z7EnE"
   },
   "source": [
    "# 3 Data Preparation \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cjIK-FRhcDSr"
   },
   "source": [
    "### 3.1 Load data and split\n",
    "\n",
    "The data are loaded and splitted into train / validation / test sets following strong generalization: \n",
    "\n",
    "- All unique users are splitted into training users and heldout users (i.e. validation and test users)\n",
    "\n",
    "- By using the lists of these users, the corresponding training data and heldout data are obtained, which are converted to click matrices\n",
    "\n",
    "- Models are trained using the entire click history of the training users. \n",
    "\n",
    "- To evaluate them, part of the click history from heldout data(validation and test) is used to learn the necessary user-level representations for the model. Then, evaluation metrics are computed by looking at how well the model ranks the rest of the unseen click history from the heldout data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YV_SaTQeRkkK"
   },
   "source": [
    "#### 3.1.1 Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 217
    },
    "id": "SFSY6UrI7EnF",
    "outputId": "9e33226a-5954-4f76-fb1a-9929853f34f9"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 5.78k/5.78k [00:00<00:00, 14.8kKB/s]\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userID</th>\n",
       "      <th>itemID</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1193</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978300760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>661</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978302109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>914</td>\n",
       "      <td>3.0</td>\n",
       "      <td>978301968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>3408</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978300275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>2355</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978824291</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   userID  itemID  rating  timestamp\n",
       "0       1    1193     5.0  978300760\n",
       "1       1     661     3.0  978302109\n",
       "2       1     914     3.0  978301968\n",
       "3       1    3408     4.0  978300275\n",
       "4       1    2355     5.0  978824291"
      ]
     },
     "execution_count": 5,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = movielens.load_pandas_df(\n",
    "    size=MOVIELENS_DATA_SIZE,\n",
    "    header=[\"userID\", \"itemID\", \"rating\", \"timestamp\"]\n",
    ")\n",
    "\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "d4T_sSWa2C_b",
    "outputId": "fd7209d9-2434-4a85-ca6c-9b7001d5b2ae"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000209, 4)"
      ]
     },
     "execution_count": 6,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Jg3B2ffwWJeM"
   },
   "source": [
    "#### 3.1.2 Data Filtering \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vA7jgA3X3qup"
   },
   "source": [
    "For the data filtering we are using the below 3 steps as recommended from the original paper [[Liang, Dawen, et al,2018]](https://dl.acm.org/doi/pdf/10.1145/3178876.3186150?casa_token=zul5haircsAAAAAA:iIKn7y-xWwSeqaP-MmmyUaJoJuNZX9Fx1aXeFJwkwtMpVDCrPMW3kZjuYo1LKhSuMeUMNf1mbP2o).\n",
    "\n",
    "\n",
    "So, we have to make sure that :\n",
    " - user-to-movie interactions with rating <=3.5 are filtered out. Applying this filtering we make sure that if a movie is rated less than 3.5 from the users that they watched this movie, it will not be contained in the final click matrix. If we do not apply this filter, the final click matrix will be even sparser.\n",
    " - the users who clicked less than 5 movies are filtered out. \n",
    " - the movies which are not clicked by any user are filtered out.\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 369
    },
    "id": "TembqgZF_xdk",
    "outputId": "3172d72b-d667-42b5-e282-6bc4e49b9c33"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(575281, 4)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>userID</th>\n",
       "      <th>itemID</th>\n",
       "      <th>rating</th>\n",
       "      <th>timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1193</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978300760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>3408</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978300275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>2355</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978824291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>1287</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978302039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1</td>\n",
       "      <td>2804</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978300719</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>594</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978302268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>919</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978301368</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1</td>\n",
       "      <td>595</td>\n",
       "      <td>5.0</td>\n",
       "      <td>978824268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>1</td>\n",
       "      <td>938</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978301752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>1</td>\n",
       "      <td>2398</td>\n",
       "      <td>4.0</td>\n",
       "      <td>978302281</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    userID  itemID  rating  timestamp\n",
       "0        1    1193     5.0  978300760\n",
       "3        1    3408     4.0  978300275\n",
       "4        1    2355     5.0  978824291\n",
       "6        1    1287     5.0  978302039\n",
       "7        1    2804     5.0  978300719\n",
       "8        1     594     4.0  978302268\n",
       "9        1     919     4.0  978301368\n",
       "10       1     595     5.0  978824268\n",
       "11       1     938     4.0  978301752\n",
       "12       1    2398     4.0  978302281"
      ]
     },
     "execution_count": 7,
     "metadata": {
      "tags": []
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Binarize the data (only keep ratings >= 4)\n",
    "df_preferred = df[df['rating'] > 3.5]\n",
    "print (df_preferred.shape)\n",
    "df_low_rating = df[df['rating'] <= 3.5]\n",
    "\n",
    "\n",
    "# df.head()\n",
    "df_preferred.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "id": "fZLyUjYO3re4"
   },
   "outputs": [],
   "source": [
    "# Keep users who clicked on at least 5 movies\n",
    "df = min_rating_filter_pandas(df_preferred, min_rating=5, filter_by=\"user\")\n",
    "\n",
    "# Keep movies that were clicked on by at least on 1 user\n",
    "df = min_rating_filter_pandas(df, min_rating=1, filter_by=\"item\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 52
    },
    "id": "hwIiD5BL2IBY",
    "outputId": "ff65364b-2bfb-4c2e-ee95-1578c9ae535f"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "After filtering, there are 575272 watching events from 6034 users and 3533 movies (sparsity: 2.699%)\n"
     ]
    }
   ],
   "source": [
    "# Obtain both usercount and itemcount after filtering\n",
    "usercount = df[['userID']].groupby('userID', as_index = False).size()\n",
    "itemcount = df[['itemID']].groupby('itemID', as_index = False).size()\n",
    "\n",
    "# Compute sparsity after filtering\n",
    "sparsity = 1. * df.shape[0] / (usercount.shape[0] * itemcount.shape[0])\n",
    "\n",
    "print(\"After filtering, there are %d watching events from %d users and %d movies (sparsity: %.3f%%)\" % \n",
    "      (df.shape[0], usercount.shape[0], itemcount.shape[0], sparsity * 100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ha1fHIx_nqH8"
   },
   "source": [
    "#### 3.1.3 Split data\n",
    "\n",
    "For data slitting we use:\n",
    "- 600 (~ 10%) users in validation set \n",
    "- 600 (~ 10%) users in testing set \n",
    "- the rest of them (~ 80%) in training set\n",
    "\n",
    "\n",
    "Since the model is trained using the click history of the training users, we have to make sure that the movies that exist in the validation and test sets are the movies that exist in the train set. In other words, validation and test set should not contain movies that do not exist in the train set.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "id": "keLEIqb-LMoi"
   },
   "outputs": [],
   "source": [
    "unique_users = sorted(df.userID.unique())\n",
    "np.random.seed(SEED)\n",
    "unique_users = np.random.permutation(unique_users)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 131
    },
    "id": "fSytNYyjFdqM",
    "outputId": "80ed7973-5f70-4cf0-8fdd-005664b3bf5c"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of unique users: 6034\n",
      "\n",
      "Number of training users: 4834\n",
      "\n",
      "Number of validation users: 600\n",
      "\n",
      "Number of test users: 600\n"
     ]
    }
   ],
   "source": [
    "# Create train/validation/test users\n",
    "n_users = len(unique_users)\n",
    "print(\"Number of unique users:\", n_users)\n",
    "\n",
    "train_users = unique_users[:(n_users - HELDOUT_USERS * 2)]\n",
    "print(\"\\nNumber of training users:\", len(train_users))\n",
    "\n",
    "val_users = unique_users[(n_users - HELDOUT_USERS * 2) : (n_users - HELDOUT_USERS)]\n",
    "print(\"\\nNumber of validation users:\", len(val_users))\n",
    "\n",
    "test_users = unique_users[(n_users - HELDOUT_USERS):]\n",
    "print(\"\\nNumber of test users:\", len(test_users))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 98
    },
    "id": "Tu4YaI5UCw1d",
    "outputId": "54cc49ab-8da3-478d-9837-9f57c768d664"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of training observations:  462827\n",
      "\n",
      "Number of validation observations:  57388\n",
      "\n",
      "Number of test observations:  55057\n"
     ]
    }
   ],
   "source": [
    "# For training set keep only users that are in train_users list\n",
    "train_set = df.loc[df['userID'].isin(train_users)]\n",
    "print(\"Number of training observations: \", train_set.shape[0])\n",
    "\n",
    "# For validation set keep only users that are in val_users list\n",
    "val_set = df.loc[df['userID'].isin(val_users)]\n",
    "print(\"\\nNumber of validation observations: \", val_set.shape[0])\n",
    "\n",
    "# For test set keep only users that are in test_users list\n",
    "test_set = df.loc[df['userID'].isin(test_users)]\n",
    "print(\"\\nNumber of test observations: \", test_set.shape[0])\n",
    "\n",
    "# train_set/val_set/test_set contain user - movie interactions with rating 4 or 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "jbK7DimNKL1s",
    "outputId": "2fac77f8-a815-4bee-9897-1b9fe2165e9b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of unique movies that rated in training set 3497\n"
     ]
    }
   ],
   "source": [
    "# Obtain list of unique movies used in training set\n",
    "unique_train_items = pd.unique(train_set['itemID'])\n",
    "print(\"Number of unique movies that rated in training set\", unique_train_items.size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 65
    },
    "id": "kmKaUumcDDL5",
    "outputId": "f7b6ed0b-ee44-4384-89a9-b419a970d72d"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of validation observations after filtering:  57374\n",
      "\n",
      "Number of test observations after filtering:  55027\n"
     ]
    }
   ],
   "source": [
    "# For validation set keep only movies that used in training set\n",
    "val_set = val_set.loc[val_set['itemID'].isin(unique_train_items)]\n",
    "print(\"Number of validation observations after filtering: \", val_set.shape[0])\n",
    "\n",
    "# For test set keep only movies that used in training set\n",
    "test_set = test_set.loc[test_set['itemID'].isin(unique_train_items)]\n",
    "print(\"\\nNumber of test observations after filtering: \", test_set.shape[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "0eKkN1F-RHSJ"
   },
   "source": [
    "## 3.2 Click matrix generation \n",
    "\n",
    "From section 3.1 we end up with 3 datasets train_set, val_set and test_set. As the authors indicate, a click matrix, that contains only 0-s and 1-s, is provided as an input to the model, where each row represents a user and each column represents a movie. \n",
    "So, the click matrix contains the preferences of the user, marking each cell with 0 when the user did not enjoy (ratings below 3.5) or did not watch a movie and with 1 when the user enjoyed a movie (ratings above 3.5).\n",
    "\n",
    "The training set will be a click matrix containing full historicity of all training users. However, the test set and validation set should be splitted into train and test parts. As a result, we get 4 datasets:\n",
    "- val_data_tr\n",
    "- val_data_te\n",
    "- test_data_tr\n",
    "- test_data_te\n",
    "\n",
    "'val_data_tr' contains 75% of the the preferred movies (movies marked as 1 in the click matrix) per user.\n",
    "The rest 25% of the preffered movies are contained into the 'val_data_te'. The same splitting is followed for test set. \n",
    "\n",
    "The 'val_data_tr' is given as an input for our model at the end of each epoch. The result of the model is a 'reconstructed_val_data_tr', which contains the movies recommended for each user by the model. In order to evaluate the performance of the model, at the end of each epoch, we compare the 'reconstructed_val_data_tr' (predicted recommendations by the model) with the 'val_data_te' (true movie preferences of each user) using NDCG@k metric. \n",
    "\n",
    "For the final evaluation of the model the 'test_data_tr' and 'test_data_te' are being used. As it is described before, the 'test_data_tr' is given as an input for the model and returns the 'reconstructed_test_data_tr' dataset with the recommendations made by the model. Then, the 'reconstructed_test_data_tr' is compared with 'test_data_te' through different metrics:\n",
    "- MAP\n",
    "- NDCG@k\n",
    "- Recall@k\n",
    "- Precision@k\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "id": "YjvTa0vvZYLb"
   },
   "outputs": [],
   "source": [
    "# Instantiate the sparse matrix generation for train, validation and test sets\n",
    "# use list of unique items from training set for all sets\n",
    "am_train = AffinityMatrix(DF=train_set, items_list=unique_train_items)\n",
    "\n",
    "am_val = AffinityMatrix(DF=val_set, items_list=unique_train_items)\n",
    "\n",
    "am_test = AffinityMatrix(DF=test_set, items_list=unique_train_items)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 65
    },
    "id": "oygrnMOcpZxD",
    "outputId": "488d3354-3af4-44f7-810b-d2d52af8080c"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(4834, 3497)\n",
      "(600, 3497)\n",
      "(600, 3497)\n"
     ]
    }
   ],
   "source": [
    "# Obtain the sparse matrix for train, validation and test sets\n",
    "train_data, _, _ = am_train.gen_affinity_matrix()\n",
    "print(train_data.shape)\n",
    "\n",
    "val_data, val_map_users, val_map_items = am_val.gen_affinity_matrix()\n",
    "print(val_data.shape)\n",
    "\n",
    "test_data, test_map_users, test_map_items = am_test.gen_affinity_matrix()\n",
    "print(test_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "id": "WZwuDmuAsos3"
   },
   "outputs": [],
   "source": [
    "# Split validation and test data into training and testing parts\n",
    "val_data_tr, val_data_te = numpy_stratified_split(val_data, ratio=0.75, seed=SEED)\n",
    "test_data_tr, test_data_te = numpy_stratified_split(test_data, ratio=0.75, seed=SEED)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "id": "msr8uWO7DbYa"
   },
   "outputs": [],
   "source": [
    "# Binarize train, validation and test data\n",
    "train_data = binarize(a=train_data, threshold=3.5)\n",
    "val_data = binarize(a=val_data, threshold=3.5)\n",
    "test_data = binarize(a=test_data, threshold=3.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "id": "T0eGYzRqCs_r"
   },
   "outputs": [],
   "source": [
    "# Binarize validation data: training part  \n",
    "val_data_tr = binarize(a=val_data_tr, threshold=3.5)\n",
    "\n",
    "# Binarize validation data: testing part (save non-binary version in the separate object, will be used for calculating NDCG)\n",
    "val_data_te_ratings = val_data_te.copy()\n",
    "val_data_te = binarize(a=val_data_te, threshold=3.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "id": "ofVbsCAZGGKy"
   },
   "outputs": [],
   "source": [
    "# Binarize test data: training part \n",
    "test_data_tr = binarize(a=test_data_tr, threshold=3.5)\n",
    "\n",
    "# Binarize test data: testing part (save non-binary version in the separate object, will be used for calculating NDCG)\n",
    "test_data_te_ratings = test_data_te.copy()\n",
    "test_data_te = binarize(a=test_data_te, threshold=3.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "id": "91ENSQDXDkn2"
   },
   "outputs": [],
   "source": [
    "# retrieve real ratings from initial dataset \n",
    "\n",
    "test_data_te_ratings=pd.DataFrame(test_data_te_ratings)\n",
    "val_data_te_ratings=pd.DataFrame(val_data_te_ratings)\n",
    "\n",
    "for index,i in df_low_rating.iterrows():\n",
    "  user_old= i['userID'] # old value \n",
    "  item_old=i['itemID'] # old value \n",
    "\n",
    "  if (test_map_users.get(user_old) is not None)  and (test_map_items.get(item_old) is not None) :\n",
    "      user_new=test_map_users.get(user_old) # new value \n",
    "      item_new=test_map_items.get(item_old) # new value \n",
    "      rating=i['rating'] \n",
    "      test_data_te_ratings.at[user_new,item_new]= rating   \n",
    "\n",
    "  if (val_map_users.get(user_old) is not None)  and (val_map_items.get(item_old) is not None) :\n",
    "      user_new=val_map_users.get(user_old) # new value \n",
    "      item_new=val_map_items.get(item_old) # new value \n",
    "      rating=i['rating'] \n",
    "      val_data_te_ratings.at[user_new,item_new]= rating   \n",
    "\n",
    "\n",
    "val_data_te_ratings=val_data_te_ratings.to_numpy()    \n",
    "test_data_te_ratings=test_data_te_ratings.to_numpy()    \n",
    "# test_data_te_ratings  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 65
    },
    "id": "T-L3rdmsTVcS",
    "outputId": "bc4554ae-00f7-4bea-8267-4496922274ed"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "57374.0\n",
      "43028.0\n",
      "14346.0\n"
     ]
    }
   ],
   "source": [
    "# Just checking\n",
    "print(np.sum(val_data))\n",
    "print(np.sum(val_data_tr))\n",
    "print(np.sum(val_data_te))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 65
    },
    "id": "YPvDCygHSUBh",
    "outputId": "af5bc3fa-f8ce-4d8c-d1b4-a25065144f48"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "55027.0\n",
      "41278.0\n",
      "13749.0\n"
     ]
    }
   ],
   "source": [
    "# Just checking\n",
    "print(np.sum(test_data))\n",
    "print(np.sum(test_data_tr))\n",
    "print(np.sum(test_data_te))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "8tdIpYbvPr_7"
   },
   "source": [
    "# 4 Train Multi-VAE using Keras\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "f77Tsp5PA6h9"
   },
   "source": [
    "__Model Architecture:__\n",
    "\n",
    "For \"MovieLens-1M dataset\", we set both the generative function $f_\\theta(\\cdot)$ and the inference model $g_\\phi(\\cdot)$ to be 3-layer multilayer perceptron (MLP) with symmetrical architecture.\n",
    "The generative function is a [70 -> 200 -> n_items] MLP, which means the inference function is a [n_items -> 200 -> 70] MLP. Thus the overall architecture for the Multi-VAE is [n_items -> 200 -> 70 -> 200 -> n_items]. \n",
    "Also, Dropout is applied both in encoder and decoder to avoid overfitting. \n",
    "\n",
    "\n",
    "Note that this architecture, illustrated in the graph below, is the one that resulted optimal results after investigating multiple architectures both for encoder and decoder.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yktf07MigLOo"
   },
   "source": [
    "![image.png]()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "VRUlal47jDIa"
   },
   "source": [
    "__Model Training:__ \n",
    "\n",
    "One of the most interesting parts of the original paper [[Liang, Dawen, et al,2018]](https://arxiv.org/pdf/1802.05814.pdf) is the tuning of $\\mathbf \\beta$ using annealing. As it is described in section 1, $\\mathbf KL- divergence$ is handled as regularization term. $\\mathbf KL-divergence$ term is linearly annealed by increasing $\\mathbf \\beta$ from 0 to 1 slowly over a large number of training steps. From the original paper is proposed that __$\\mathbf \\beta$ should reach $\\mathbf \\beta = 1$ at around the 80% of the epochs__ and then $\\mathbf \\beta$ remains stable at the value of 1. Then optimal beta is found based on the peak value of NDCG@k metric of the validation set.\n",
    "\n",
    "After finding the optimal beta, we retrain the model with the same annealing but we stop the increase of $\\mathbf \\beta$ after reaching the value of optimal $\\mathbf \\beta$ found in the previous step. Alternatively, we can say that we anneal $\\mathbf \\beta$ until it reaches the anneal_cap (anneal cap = optimal $\\mathbf \\beta$) at 80% of epochs. \n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "zXqiyXh0ezVt"
   },
   "source": [
    "## 4.1 Multi-VAE without annealing  (initial approach) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cKqxxtP6gm3q"
   },
   "source": [
    "Firstly, for comparison reasons Multi-VAE model is trained using constant $\\mathbf \\beta$= 1.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "id": "kbxDvbPSxA7b"
   },
   "outputs": [],
   "source": [
    "model_without_anneal = Mult_VAE(n_users=train_data.shape[0], # Number of unique users in the training set\n",
    "                                original_dim=train_data.shape[1], # Number of unique items in the training set\n",
    "                                intermediate_dim=INTERMEDIATE_DIM, \n",
    "                                latent_dim=LATENT_DIM, \n",
    "                                n_epochs=EPOCHS, \n",
    "                                batch_size=BATCH_SIZE, \n",
    "                                k=TOP_K,\n",
    "                                verbose=0,\n",
    "                                seed=SEED,\n",
    "                                save_path=WEIGHTS_PATH,\n",
    "                                drop_encoder=0.5,\n",
    "                                drop_decoder=0.5,\n",
    "                                annealing=False,\n",
    "                                beta=1.0\n",
    "                                )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "4n1IlnT7yNHB",
    "outputId": "072f1651-a37c-4fe7-e755-6af46a1ae509"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 664.6268 seconds for training.\n"
     ]
    }
   ],
   "source": [
    "with Timer() as t:\n",
    "    model_without_anneal.fit(x_train=train_data, \n",
    "                             x_valid=val_data, \n",
    "                             x_val_tr=val_data_tr, \n",
    "                             x_val_te=val_data_te_ratings, \n",
    "                             mapper=am_val\n",
    "                             )\n",
    "print(\"Took {} seconds for training.\".format(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 358
    },
    "id": "KFnGWA4x4zb6",
    "outputId": "871fb7bd-9c9d-4ad4-f571-c01f1192d776"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA84AAAFXCAYAAABz4xf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXhMZ/vA8e9Mksm+yyqWCBKS2LUoSkItr121SquKUkVVF1VV2r5tafvrqlpKK7xdtIrYqpRaqlTta+yxRCKRfc9MZub3x2SOjKwIaer+XFcu5pznPOc+ZybLfZ5NZTQajQghhBBCCCGEEKJU6uoOQAghhBBCCCGE+CeTxFkIIYQQQgghhCiHJM5CCCGEEEIIIUQ5JHEWQgghhBBCCCHKIYmzEEIIIYQQQghRDkmchRBCCCGEEEKIckjiLISocYKDgyv8ioiIAGDu3LkW28PCwujduzeLFi3CYDCUWv/+/fsJDg6mffv2FBYWlhnDxx9/rLzes2cPwcHBNG3alNjY2BLlO3fuzLRp05TXcXFxBAcHs3z5cmXbypUrCQ4Opk2bNmRkZFgcX1hYSHBwMHPnzi1R99mzZ3n11VeJiIggPDycli1b0q9fP2bPns3FixfLuZOW8vPzad26NcHBwZw8ebLUMk888QTBwcFMnTq1xL7ly5cTHBxMXFycsm3atGnKvQ8JCaF169b07t2b6dOnc/DgwQpjioqKIjg4mCNHjpRZZtiwYURERFB8dcU1a9YQHBzMgAEDSj2mtPt/I/N7umvXLmXbjZ+nli1b8tBDD/Hiiy/yxx9/lHstM2bMIDg4mHfffbfEOSr6Mn92nnjiCR577LESdScmJvLmm28SERFBWFgY7du3Z+LEiaXeN/M1dOvWDZ1OZ7Hv4sWLBAcHs3LlynKvpXjcO3fuLLE/Li6OkJCQMj/jpX21adMGgIiIiErdk9LqCwsLo1u3bnz00UcUFBSUGnPx99Ns+/btjBs3jvbt2xMaGkqHDh145pln+O233yzKbd68meHDh9O+fXuaNWtG165defbZZ9mxY0e596uiz9tjjz3GE088YbHtxp8xAH///TejR4+mY8eOhIeH07lzZ0aPHs2aNWuA69+fFX0V/x49cuQIkyZNokOHDoSFhREREcEbb7xBYmJiiThvrL9ly5YMHTqULVu2AJCTk0NERASPPfYYpa12+vnnnxMaGsqxY8fKvV9CCPFPZF3dAQghxM368ccfLV5PnDiR4OBgJk2apGzTaDQWZb7//nusrKzIyMhg5cqVfPDBB6jVakaNGlWi/ujoaABSU1PZsWOHkoRXhl6v57PPPivxB+/NyMrKYuHChbz00ksVll2/fj2vvPIKjRs3ZuzYsQQGBqLT6Th27BjLly9nx44dbNiwoVLn/e2338jOzgZM96B4on+jtWvXMnbsWBo2bFhhvR4eHnz55ZcA5OXlcf78edauXcvQoUMZN24cL7zwQpnH9u3blw8++IDVq1fTrFmzEvsvX77MgQMHePbZZ1GpVMp283sYExPDqVOnlESrqpg/T3l5ecTFxbFx40bGjBlDv379eO+991CrLZ9L5+fnK+/DunXrmDp1KtbW1oSGhlp8nq9du8bEiRMZN26cxefOw8OjzFhOnjzJU089hYODA08//TRBQUEkJyezbNkyhg4dyrvvvlvqA4TLly/z888/l5qIV5ajoyOrV6+mY8eOFtujo6NxcHAgJyen1OM+/fRTfH19LbZZWVkBpuRKq9Uq29988030ej1vvfVWmXGY68vJyeG3335jwYIF5OTk8Prrr1d4DbNnzyYqKooePXrw+uuv4+XlRXJyMlu3bmXy5MmsXLmSkJAQli5dyjvvvMPgwYMZPXo09vb2XL58mW3btvHXX3/RuXPnCs91OzZv3szEiROJiIhg5syZuLq6Eh8fz59//sn27dvp168fs2bNUr6HAb744guOHj2qfP+ZeXt7A6b3afr06bRu3ZrXXnsNb29vzp07x6JFi9i4cSOLFy8mJCTE4tjg4GDlvYiPj2fBggVMmjSJH374gebNm/P222/z1FNP8f333zN8+HDluLNnzzJ//nxGjRpFWFjYnbpNQghxx0jiLISocVq0aGHxWqPR4O7uXmJ7cc2bN8fa2vQjr1OnTpw6dYqffvqpROJcUFDAhg0buO+++zh69CjR0dE3lTh37NiRDRs2MG7cuBJ/cN5MHd9++y0jR46kVq1aZZY7d+4c06ZNIyIigo8//lhJPMx1jB49mhUrVlT6vNHR0bi5uVGvXj3Wrl3LSy+9pNyz4po0aUJSUhKffvppqS3gN7KxsbF4b9q3b8+wYcN49913WbBgAaGhofTo0aPUYz09PenUqRPr169n2rRp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\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model_without_anneal.display_metrics()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "oECauCFn1bGB"
   },
   "outputs": [],
   "source": [
    "ndcg_val_without_anneal = model_without_anneal.ndcg_per_epoch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-dIbp76c2TEL"
   },
   "source": [
    "#### Prediction and Evaluation of Multi-VAE model using constant 𝛽 = 1."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "OoZgID9s2f-P"
   },
   "source": [
    "Evaluate with recommending 10 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "Jf_y8UBk3XnJ",
    "outputId": "c4742c5b-d63e-47b2-d8bc-651b9295c8db"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 4.4747 seconds for prediction.\n",
      "MAP@10:\t\t0.048516\n",
      "NDCG@10:\t0.430152\n",
      "Precision@10:\t0.403833\n",
      "Recall@10: \t0.075556\n"
     ]
    }
   ],
   "source": [
    "# Use k = 10\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_without_anneal.recommend_k_items(x=test_data_tr,\n",
    "                                                    k=10,\n",
    "                                                    remove_seen=True\n",
    "                                                    )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_1 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_ndcg_1 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_precision_1 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_recall_1 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "\n",
    "print(\"MAP@10:\\t\\t%f\" % eval_map_1,\n",
    "      \"NDCG@10:\\t%f\" % eval_ndcg_1,\n",
    "      \"Precision@10:\\t%f\" % eval_precision_1,\n",
    "      \"Recall@10: \\t%f\" % eval_recall_1, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "h6ofd4UX2qjF"
   },
   "source": [
    "Evaluate with recommending 100 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "tuiQ9IOa3cWA",
    "outputId": "43166620-32b6-4af6-c09a-45c6b8fe989d"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.4869 seconds for prediction.\n",
      "MAP@100:\t0.133604\n",
      "NDCG@100:\t0.383750\n",
      "Precision@100:\t0.225550\n",
      "Recall@100: \t0.344727\n"
     ]
    }
   ],
   "source": [
    "# Use k = TOP_K\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_without_anneal.recommend_k_items(x=test_data_tr,\n",
    "                                                    k=TOP_K,\n",
    "                                                    remove_seen=True\n",
    "                                                    )\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_2 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_ndcg_2 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_precision_2 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_recall_2 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "\n",
    "print(\"MAP@100:\\t%f\" % eval_map_2,\n",
    "      \"NDCG@100:\\t%f\" % eval_ndcg_2,\n",
    "      \"Precision@100:\\t%f\" % eval_precision_2,\n",
    "      \"Recall@100: \\t%f\" % eval_recall_2, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "paIbdPXSfiXH"
   },
   "source": [
    "## 4.2 Multi-VAE with annealing \n",
    "\n",
    "Now the annealing procedure for finding the optimal $\\mathbf \\beta$ is used.\n",
    "\n",
    "In order to find the optimal $\\beta$,  the model is trained using annealing with anneal_cap equal 1.0.\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "id": "BK0kbnM93QfS"
   },
   "outputs": [],
   "source": [
    "model_with_anneal = Mult_VAE(n_users=train_data.shape[0], # Number of unique users in the training set\n",
    "                             original_dim=train_data.shape[1], # Number of unique items in the training set\n",
    "                             intermediate_dim=INTERMEDIATE_DIM, \n",
    "                             latent_dim=LATENT_DIM, \n",
    "                             n_epochs=EPOCHS, \n",
    "                             batch_size=BATCH_SIZE, \n",
    "                             k=TOP_K,\n",
    "                             verbose=0,\n",
    "                             seed=SEED,\n",
    "                             save_path=WEIGHTS_PATH,\n",
    "                             drop_encoder=0.5,\n",
    "                             drop_decoder=0.5,\n",
    "                             annealing=True,\n",
    "                             anneal_cap=1.0,       \n",
    "                             )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "lOfW557u3oF1",
    "outputId": "6719fa05-01eb-4775-a970-87cf10ab7b94"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 723.5305 seconds for training.\n"
     ]
    }
   ],
   "source": [
    "with Timer() as t:\n",
    "    model_with_anneal.fit(x_train=train_data, \n",
    "                          x_valid=val_data, \n",
    "                          x_val_tr=val_data_tr, \n",
    "                          x_val_te=val_data_te_ratings, \n",
    "                          mapper=am_val\n",
    "                          )\n",
    "print(\"Took {} seconds for training.\".format(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 269
    },
    "id": "iaJvk8LOBCBP",
    "outputId": "59e6064e-4d4b-4bef-dea9-f76dac8fecfe"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA84AAAFXCAYAAABz4xf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3hTZfvA8W+SNi3ddFPKEqFAW/Z2QQEZP/aS4UBReFEQUV9FFBSU4URFFARlvCggAi1DZMkSEGRTNhQoLaV7piNpkt8faQ4NHbRAReD+XFcvmnOe85z7nKQt93mWymw2mxFCCCGEEEIIIUSx1Hc7ACGEEEIIIYQQ4t9MEmchhBBCCCGEEKIUkjgLIYQQQgghhBClkMRZCCGEEEIIIYQohSTOQgghhBBCCCFEKSRxFkIIIYQQQgghSiGJsxDinhMUFHTTr7CwMABmzZplsz0kJIRu3boxf/58TCZTsfUfPHiQoKAg2rRpQ35+fokxzJw5U3m9b98+goKCaNCgARcvXixS/vHHH2f8+PHK65iYGIKCglixYoWybdWqVQQFBdG8eXPS09Ntjs/PzycoKIhZs2YVqfv8+fO88847hIWFERoaSpMmTejZsyfTp0/n8uXLpdxJW7m5uTRr1oygoCBOnz5dbJlnnnmGoKAg3nrrrSL7VqxYQVBQEDExMcq28ePHK/e+Xr16NGvWjG7dujFhwgQOHz5805gWLlxIUFAQx44dK7HMkCFDCAsLo/DqimvWrCEoKIjevXsXe0xx9/9G1vd0z549yrYbP09NmjThySef5I033mDXrl2lXst7771HUFAQ06ZNK3KOm31ZPzvPPPMMgwcPLlJ3fHw8kydPJiwsjJCQENq0acPo0aOLvW/Wa+jYsSMGg8Fm3+XLlwkKCmLVqlWlXkvhuP/8888i+2NiYqhXr16Jn/Hivpo3bw5AWFhYme5JcfWFhITQsWNHvvjiC/Ly8oqNufD7abVjxw5GjhxJmzZtCA4Opm3btvznP/9h8+bNNuW2bNnC0KFDadOmDQ0bNqR9+/a8/PLL7Ny5s9T7dbPP2+DBg3nmmWdstt34OwZg//79DB8+nEcffZTQ0FAef/xxhg8fzpo1a4DrP583+yr8M3rs2DHGjBlD27ZtCQkJISwsjA8++ID4+Pgicd5Yf5MmTRg0aBBbt24FQKfTERYWxuDBgylutdNvvvmG4OBgIiMjS71fQgjxb2R3twMQQojyWr58uc3r0aNHExQUxJgxY5RtWq3WpszPP/+MRqMhPT2dVatW8emnn6JWq3nhhReK1B8eHg5ASkoKO3fuVJLwsjAajXz99ddF/sNbHpmZmcybN48333zzpmXXr1/P22+/Td26dRkxYgS1atXCYDAQGRnJihUr2LlzJxs2bCjTeTdv3kxWVhZguQeFE/0brV27lhEjRvDwww/ftF5PT0++++47AHJycoiKimLt2rUMGjSIkSNH8vrrr5d4bI8ePfj000+JiIigYcOGRfZfuXKFQ4cO8fLLL6NSqZTt1vfw1KlTnDlzRkm07hTr5yknJ4eYmBg2btzIiy++SM+ePfn4449Rq22fS+fm5irvw7p163jrrbews7MjODjY5vOcmJjI6NGjGTlypM3nztPTs8RYTp8+zfPPP4+TkxMvvfQStWvXJikpiWXLljFo0CCmTZtW7AOEK1eu8OuvvxabiJeVs7MzERERPProozbbw8PDcXJyQqfTFXvcV199hb+/v802jUYDWJIrvV6vbJ88eTJGo5EpU6aUGIe1Pp1Ox+bNm5k7dy46nY6JEyfe9BqmT5/OwoUL6dy5MxMnTsTHx4ekpCS2bdvG2LFjWbVqFfXq1WPx4sVMnTqVfv36MXz4cCpVqsSVK1fYvn07f/31F48//vhNz3U7tmzZwujRowkLC2PSpEm4u7tz9epVdu/ezY4dO+jZsyfvv/++8jMM8O2333L8+HHl58/K19cXsLxPEyZMoFmzZrz77rv4+vpy4cIF5s+fz8aNG1mwYAH16tWzOTYoKEh5L65evcrcuXMZM2YMS5cupVGjRnz00Uc8//zz/PzzzwwdOlQ57vz588yZM4cXXniBkJCQirpNQghRYSRxFkLccxo3bmzzWqvVUrly5SLbC2vUqBF2dpZfeY899hhnzpzhl19+KZI45+XlsWHDBlq2bMnx48cJDw8vV+L86KOPsmHDBkaOHFnkP5zlqWPJkiUMGzYMb2/vEstduHCB8ePHExYWxsyZM5XEw1rH8OHDWblyZZnPGx4ejoeHBzVq1GDt2rW8+eabyj0rrH79+iQkJPDVV18V2wJ+I3t7e5v3pk2bNgwZMoRp06Yxd+5cgoOD6dy5c7HHenl58dhjj7F+/XrGjx+Pvb29zf6IiAjMZrNNYhgfH8/evXt5/PHH2blzJ+Hh4bz99ttlvQ1lUvjzBDBgwAAWLlzI9OnTqV+/fpHP1ZYtW8jKyuKJJ55gx44d7Nq1i/bt2+Pi4mJzb6wtgdWqVSv182xlMBh49dVXcXV1Zfny5VSuXFnZ16VLF8aOHcvEiRNp2LAhDz30kM2xjz76KN999x19+/bFwcHhlu7Dk08+ycaNG8nOzsbJyUnZvmbNGjp37lxiy3X9+vWpUaNGsfsaNGhg89rFxYX8/PxS70fh+h555BEuX77MypUreffdd4s8xCgsIiKChQsX8vbbbxd5z7p27cqzzz6Lm5sbAD/++CMdO3a06THQpk0bBg4cWGLvlTtpwYIFNGjQgNmzZ9s8JOrTp49y/hsfZHl6ehb5+bO6cOECEydOpGPHjnz55ZfKfWrRogWdO3dm4MCBjB07lnXr1tn83Dk7Oyv1NW7cmKZNm9KuXTtWrlxJo0aNaNu2Lf379+fzzz8nLCyMKlWqYDKZePfdd6lWrZrNA04hhLiXSFdtIcQDR61WU69ePeLi4ors27JlC5mZmQwZMoSOHTvyxx9/FOk2XZqhQ4fi4+PDl19+ecvxjRo1CqBIK9GNFi1ahNlsZtKkSTZJs5W9vT2DBg0q0znj4+PZs2cP3bp1Y8CAASQlJRXbBRegUqVKjBw5kk2bNt1yl0uVSsV///tfvL29WbRoUall+/TpQ2pqarHdYSMiImjatCnVq1e32WYymRgzZgxNmzZl7dq1GI3GW4qzPIYNG0aDBg1YvHhxkX2rV6/G3d2dGTNm4OjoyOrVq+/IOTdv3szly5cZN26cTdIMls/5e++9h8lkKvYev/baayQkJPDTTz/d8vk7deoEwKZNm5Rthw4dIjo6mp49e95yvberQYMG5OTkkJqaWmq577//nrp16xbb8wQgJCSEgIAAANLT00t8kFVacn6npKen4+npaZM03875Fy9ejMlk4r333ityfOXKlRk3bhyXLl0q0l39Rv7+/nh6etr8Ph0/fjwuLi68//77APzvf//j2LFjTJs2rUhvICGEuFdI4iyEeCDFxsbaJFtWq1evxs3NjQ4dOtC7d28MBgPr168vc72Ojo6MGjWKbdu2ceTIkVuKzcfHh6FDh7J8+XJiY2NLLPfXX38REhJSaqt0WVmTzd69e9OlSxccHByU7s7FGTx4MAEBAbfVJV2r1dK6dWuOHTtW4lhygPbt2+Ph4UFERITNdmuC1qdPH5vtq1evpnbt2jRs2JDevXuTmJhY4kOAO+3xxx8nLi6Oq1evKtusLeBdu3bF09OTjh07sm3btnI9kCnJ3r170Wg0tGvXrtj9fn5+BAcH89dffxXZV79+fbp06cL3339v0723PCpVqkTnzp2VMbZg6bnQtGlTqlWrVuJxRqOR/Px8m6872WobGxuLq6srHh4eJZaJj4/n/PnztG/fvkx1hoaGEh4ezvz584udx6AsTCZTkesu7bN/4/l3797NzJkzOX36dLFjiMvD+vvD2m37Ru3atUOtVhf72SksKyuLtLQ0m9+nrq6uTJ48mR07djBnzhy+/PJLnnnmGZo0aXJbMQshxN0kibMQ4oFg/Q9rSkoKc+fO5cSJE4wdO9amTEJCAnv27KFr165otVratm2Ln59fqQlkcQYMGEC1atVuK6l86aWXcHR05JtvvimxzLVr15TWsMJuTErKIjw8nFq1atGoUSNcXV2V1vaMjIxiy2u1Wl5++WX+/PNPDhw4ULaLKkZAQAAGg4G0tLQSy2i1Wrp168a2bdts4gkPD8fBwYGuXbsq244dO0ZUVBS9evUCLN1tb/YQ4E6qUqUKYBmrbLVmzRqMRqPSnbx3797o9Xp+++232z5fXFwcnp6eVKpUqcQyVatW5dq1a8XuGzt2LBkZGSxcuPCWY+jVqxd79+4lPj4evV7P77//XuKkbFZdu3YlODjY5sva0+JWWD/z6enp/Prrr2zatInXXnut2J4YVtZ7UtzPUHEmT55M9erV+fTTT+nSpQutWrXi9ddfL9dDmUmTJhW57uDgYA4dOnTTY998802aNm3KnDlz6NWrF82bN+fll1++5c9RXFwcVatWLXG/k5NTkZZkK+vvlitXrjBhwgTc3d0ZNmyYTZn27dvTo0cPZs6cibe3N+PGjbulOIUQ4t9CxjgLIR4IoaGhNq//+9//0rFjR5tt1gTHmnSp1Wp69uzJvHnziIqKKjJGtCT29vaMHj2at99+mz179tC2bdtyx+vh4cHzzz/P7Nmzeemll4ptHS9J48aNbSZX2rRpU4njScGSbF64cIHXXntN2da7d2/Wr1/Pb7/9VmJ37759+zJ//ny++OILfv755zLHV5i11ay47qeF9enTh59//pkNGzbw1FNPKQlahw4dcHV1VcqtXr1aed8ApffA1q1byczMtClbEYq7nvDwcGrWrKm0trVt2xZfX1/Cw8Nva2KuO6FWrVr07t2bBQsW8PTTT99SHa1bt8bPz4+1a9cSGBhIbm4uXbt2LbVFffbs2fj5+dlss44lvhWFH56AZab1W72ektSqVYvw8HAOHTrEn3/+ydGjR9m8eTPr169n7NixvPzyyzetY9SoUXTo0KHI9vfee++mx3p5efHTTz9x7Ngxdu3axbFjx9i7dy9bt25lz549fPTRR7d0XeV16NAhgoODlddarZYFCxYU28PglVdeYe3atQwbNqzUhztCCHEvkBZnIcQD4ZdffmHFihXMnj2b4OBgPv/8c/bt22dTJjw8nICAAOrUqUNGRgYZGRnKf3Jv7CZ8Mz179qROnTq3NdZ52LBhuLu78/XXXxe739/f36ZLsNWyZcv49ddfGT16dJnOY22Nbd++vXLdoaGheHp6ltpSq9FoGDt2LAcPHmTHjh1lOteN4uLisLe3x93dvdRy1smtrPFYx54Xbtm0tuI2btwYZ2dn5Vo6deqkTPpW0aytmD4+PgAcP36c8+fP06lTJyUenU7Hk08+yZEjR265y6+Vv78/KSkp5OTklFgmNja2yAzWhY0ePRq9Xs+8efNuKQaVSkXPnj2JiIhQJtO72QOKOnXqEBoaavNV2sOdm5k9eza//vor33//PW3btuXnn3++aS8D6z0p7meoJBqNhhYtWjBu3DgWLlzIli1bqFu3LrNnzy5T1/uqVasWue7Q0FCbidVupmHDhrzyyivMnTuXHTt20KZNG1asWMHZs2fLXAdYrr+0oSDZ2dmkpKQovSis6tWrx6+//sovv/zC1KlTcXZ2ZuzYsaSkpBSpwzqpmIxrFkLcDyRxFkI8EIKDg2nYsCEdO3Zk/vz5uLm58dFHHynjKiMjIzl37hxXr16lRYsWype1tdU6Bris1Go1Y8eO5ejRo2zZsuWWYnZ2dmbkyJH8/vvvnDp1qsj+1q1bExkZSXJycpFrDQ0NLbUbppVer1fGcPfq1Uu57tatW5OSksLhw4e5dOlSicd37dqV+vXr89VXX5V7zKVer2fv3r00bty42Nm7b9SnTx8OHTrElStXiIiIwMfHx2YZpG3btpGWlsahQ4ds3kNrF9E7NSFXaXbs2EFAQICSbFiTt3nz5tnEtGTJEpv9t6pNmzYYjUa2b99e7P74+HhOnDhB69atS6wjICCAp556ip9++smmi3l59OrVi7Nnz7Jjx46bdtOuCNZE/IknnmDu3LnUrFmTTz75hOzs7BKP8fPzo3bt2mzbtu2Wz+vn58eAAQPIz88v15rpd4qbm5uy/vP58+fLdaz190dCQkKx+7dv347JZCry2XFyciI0NJRGjRrRv39/vvzyS5KSkso0w74QQtzLJHEWQjxwPD09eeWVVzh79iwbN24ELAmMSqVi1qxZLF682OZrxIgRxMXFFWmhvplOnToRGhp6S0ml1ZAhQ/Dz8yu25fq5554Drq9zeyu2b99OWloao0ePLnLd1jHapSV3KpWK1157jRMnTij3sizMZjOffvopycnJRcZGlqRnz56o1WoWLVrErl276NGjh80Y1tWrV+Pk5MTChQuLXEvfvn2VycQqysKFCzl16pRyPXq9nnXr1tGoUaMi8SxevJj69euzZs2a25rkqVOnTlSvXp2ZM2cWGSduMpmYOnUqKpWKZ599ttR6Ro0ahUqluulM7iWpXbs2Q4cOpXPnzkXWdP6nabVa3nrrLZKTk286hGDkyJGcPXuWBQsWFLv/5MmTSot0SQlmVFQUwB2ZpK80Nzt/SZN8leS5555DpVLZPEC0SktLY+bMmdSoUUOZOb0krVu3plOnTqxYsaLEsfRCCHE/kDHOQogH0qBBg/jhhx/47rvv6NixI+vWraNFixY8+eSTRcrWr1+fRYsWER4eTps2bcp1nnHjxpW41E1ZaLVaXnnlFSZOnFhkX+3atZk2bRoTJkxgwIABDBw4kFq1amEymYiJiWH58uXY29uXukavNdl84YUXcHZ2LrJ/4cKFrFmzhrFjx5Y4Drldu3Y0bdq0xEmSDAaDMsN4Tk4OFy9eZM2aNRw5coRRo0YVGWteEn9/f9q0acOSJUuKrN2cnJzMrl276NmzZ7Hvkbe3N6tWrSI8PJxXX31V2R4ZGVlst+Kbrd199OhRNBoNeXl5XLlyhY0bN7Jz50769OmjJKk7duwgLS2N8ePH06pVqyJ1PPXUU3zwwQfs27ev1Bbh0mi1Wr766iuef/55+vfvz/Dhw3n44YdJSkpi6dKlHDhwgI8++ojatWuXWo+XlxfPPvssc+bMuaU4wDLxVVmdOnWq2KWiQkJCytT74GY6dOhAaGioMnbb0dGx2HK9evXi5MmTzJgxg8OHD9O1a1d8fHxITk5m+/btrFmzhpUrVxIQEECPHj1o06YNTzzxBIGBgWRlZbFjxw6WLVtG165dyzzJ2K168cUXqVKlCmFhYdSqVYvc3Fz+/vtvFixYQJMmTWjatGm56qtduzZTpkzhvffe47nnnmPw4MH4+PgQFRXF/PnzycjIYMGCBUXWTi/OmDFj2LJlC/PmzSv2d5UQQtwPJHEWQjyQrLNCT5o0ie3bt5Oamkq/fv2KLevm5kanTp3YtGkTkyZNKjbBLMkjjzxCy5Yt2b9//y3H2rdvX3744Ydiu0z37NmToKAgFi5cyNy5c0lMTMTe3p5q1arRtm1bPv/88xLHt6akpCjJZknX1L9/fyZOnMj+/fuLTf6sxo0bp3QZLe48Tz31FCqVikqVKuHv70+TJk0YP348jRs3vvkNKKR3797s3r2b+vXrExQUpGxfu3Yt+fn5Jb6HtWvXpkmTJoSHhzNmzBhl+7Jly1i2bFmR8nv37i01jiFDhgCW5Zh8fHxo2LAh8+fP57HHHlPKrF69GmdnZ7p06VJsHd27d2fGjBmEh4ffcuIMljWLIyIimDNnDvPmzSMhIQEXFxeaNm3KTz/9VOYlgIYPH87SpUvvyDJZN3PjjPZWe/fuxdPT846c47XXXmP48OEsW7as1F4N77zzDm3btuWnn35i8uTJZGZm4u7uTqNGjZg1axb16tVT6tuxYwdff/01SUlJaDQaatasyRtvvKH0/qhI//nPf9i4cSPz5s0jMTERs9lMYGAgL7zwAiNGjLiltZz79u3LQw89xLx585gyZQpZWVn4+Pjw2GOPMWrUqCLjm0sSFBTE//3f/7FixQpGjhxZ7tZvIYS4F6jMt7sQoBBCCCGEEEIIcR+TMc5CCCGEEEIIIUQpJHEWQgghhBBCCCFKIYmzEEIIIYQQQghRCkmchRBCCCGEEEKIUkjiLIQQQgghhBBClEISZyGEEEIIIYQQohSSOAshhBBCCCGEEKWQxFkIIYQQQgghhCiFJM5CCCGEEEIIIUQpJHEWQgghhBBCCCFKIYmzEEIIIYQQQghRCkmchRBCCCGEEEKIUkjiLIQQQgghhBBClEISZyGEEEIIIYQQohSSOAshhBBCCCGEEKWQxFkIIYQQQgghhCiFJM5CCCGEEEIIIUQpJHEWQgghhBBCCCFKIYmzEEIIIYQQQghRCkmchRBCCCGEEEKIUkjiLIQQQgghhBBClEISZyGEEEIIIYQQohSSOAshhBBCCCGEEKWQxFkIIYQQQgghhCiFJM5CCCGEEEIIIUQpJHEWQgghhBBCCCFKIYmzEEIIIYQQQghRCkmchRBCCCGEEEKIUkjiLIQQQgghhBBClEISZyGEEEIIIYQQohSSOAshhBBCCCGEEKWQxFkIIYQQQgghhCiFJM5CCCGEEEIIIUQpJHEWQgghhBBCCCFKYXe3A6hIJpMJnU6Hvb09KpXqbocjhBDiAWM2mzEYDDg7O6NWy7Pq0sjfbCGEEHfTzf5m39eJs06n4+zZs3c7DCGEEA+4unXr4urqerfDuKmLFy8yfvx40tLS8PDw4OOPP6ZmzZrFlo2KiqJPnz4MGTKEt99+G4CcnBzeeecdTpw4gUaj4e2336Z9+/ZlOrf8zRZCCPFvUNLf7Ps6cba3twcsF6/Vam+7vsjISEJCQm67nrvhXo4d7u347+XYQeK/m+7l2OHejv9Oxa7X6zl79qzy9+jf7v3332fIkCH06tWLiIgIJk2axOLFi4uUMxqNvP/++3Ts2NFm+w8//ICLiwubN2/m0qVLDB06lE2bNuHs7HzTc8vfbFsS/91zL8cO93b893LsIPHfTXci9pv9zb6vE2drVy+tVouDg8MdqfNO1XM33Muxw70d/70cO0j8d9O9HDvc2/Hfydjvha7HycnJnDx5kgULFgDQvXt3PvzwQ1JSUvD09LQp+/3339OuXTuys7PJzs5Wtm/YsIEZM2YAULNmTUJCQti5cyddu3a96fnlb3ZREv/dcy/HDvd2/Pdy7CDx3013KvaS/mbLgCshhBBCEBcXh5+fHxqNBgCNRoOvry9xcXE25U6fPs2ff/7JsGHDitRx9epVqlatqryuUqUK165dq9C4hRBCiH/Cfd3iLIQQQog7x2AwMHHiRKZPn64k2HdaZGTkHavr4MGDd6yuu0Hiv3vu5djh3o7/Xo4dJP67qaJjfyATZ5PJRExMDDqdrlzH2dnZcerUqQqKqmLdGLuzszOBgYEyy6sQQgjA0jocHx+P0WhEo9FgNBpJSEigSpUqSpnExESio6MZMWIEABkZGZjNZrKysvjwww8JCAggNjZW6dodFxdHq1atyhVHSEhIke52BoOBmJgYcnNzy1yPXq+/I2OlK5qjoyOBgYFFxtQdPHiQZs2a3aWobt+9HP+9HDvc2/Hfy7GDxH833YnY8/LySn14+0AmzklJSahUKoKCgsqVOOp0ujJNcPJvVDh2k8lEbGwsSUlJ+Pr63uXIhBBC/Bt4eXlRv3591q1bR69evVi3bh3169e3Gd8cEBDAvn37lNezZs0iOztbmVW7S5cuLF++nNDQUC5dusTx48f5/PPPbzu2mJgYXF1dqVmzZpnHi98Lf7PNZjPJycnExMRQq1atux2OEEKIUjyQzY1paWn4+fk9sK2tarUaPz8/0tPT73YoQggh/kU++OADlixZQufOnVmyZAmTJ08G4KWXXuL48eM3PX748OFkZGTQqVMnRo4cyZQpU3BxcbntuHJzc/Hy8ronJlkrD5VKhZeXV7la0oUQQtwdD2SLs9FovGeWBqko9vb25Ofn3+0whBBC/IvUrl2bFStWFNk+b968YsuPGTPG5rWTkxNff/11hcR2vyXNVvfrdQkhxP3mwWxyRf5QPejXL4QQQgghhBBl9cAmzuVhNpu5mpiFPt98x+seMGAAvXr1olu3bjRo0IBevXrRq1cv3nnnnTIdv3TpUhYuXHjH4xJCCCFEUcOff57Fc+ZgNpmUbWazmQ4dOrB///5ijxk/fjxLliz5p0IUQghRAR7IrtrlZTKb0eXmo1Hf+aU3rF3iYmJi6NevHxERETb78/PzsbMr+W0aPHjwHY9JCCGEEMXr2aEji39ZzsA+fXDw9QWzmb/27UOtVtOiRYu7HZ4QQogKIolzGaj4Z7s1h4WF0a1bN/766y/q1q3LuHHjeP3119HpdOTl5fHEE0/w1ltvAbYzmq5atYp169bh5ubGuXPncHV1ZdasWfj4+Pyj8QshhBD3qydatWLqV19y7sQJ6qjUmE1GVixezP916sTggQPJzctDn5/PwIEDGTZs2C2dw6TXYzYa72zgQgghboskzsAfB6LZvD+65AJmyMnLR6NRobUvX6tzp5bVCWtevdwxZWVl8euvvwKWNcXmzJmDs7MzBoOB4cOHs3PnTh5//PEixx0/fpw1a9ZQpUoV3nvvPZYsWcK4cePKfX4hhBDi3yjhj+3Eb/3jpuWs61GXh1+HMHzD2pW435Sfj50KunfpwrqdOxlTvQa67Gy2793LL88+y7M9eqB1cABvbwYOGkSb5s2p26BBifWZjUaMefoi2/cPexGTqwu0bFmu+IUQQlQcSZz/pXr37q18bzQa+eSTTzh8+DBms5mkpCROnz5dbOLctGlTqlSpAkCjRo3Ys2fPPxazEEIIcT8z5eUB0LdfP0a+8govDx7Mpl07adKkCS6BgXz02WecPnUKtVpNfEICkfv2UdPfH1N+Pmbz9XlSTHoDhsxMTHm5GLOzyc/KUvblZ2dj1OlApyPhj204+PniHhz8j1+rEEIIW5I4A2HNS28VNpvNnI9Jx7WSGn9vt38kJicnJ+X7BQsWkJGRwYoVK3BwcGDixInkFfzxvpGDg4PyvUajwShdvYQQQhpTVnYAACAASURBVNxHfMPaldoqbKXT6XB2dr4j5zSbTJjy9Bhz8wAVwQ0b4uvry+5Dh1i7eTPDXnqJr7/7Dr+AAD569z3UZjMjx40jT6/HkJZuSY4zMizJs8lETlwcZoOlpVllb48xO4ecuGuotVoSd+xUzhs170dc69bBffLdTZzNZrOsxiGEeODJrNr3gMzMTHx8fHBwcCA+Pp6tW7fe7ZCEEEKIB0Z+VhY5sTHkZ2Wi1mpRqdX079+feUuXcvnqVTp26kRmZib+/v44+foQnZ7G4cjj2Lu5AWZQqTDp9Rh1OnLjEzAbDGi9vLB3d6dSQAAACVv/4OTkD7m86H/KeY3Z2WRFXcRsNmPMy+PE+1NIP3ECsHQbj9/yByaDodTYC7d034rYiLUcfuXV265HCCHudZI4l4FK9U9PD2brmWee4dChQ3Tv3p0JEybQpk2buxiNEEII8WCxdtE2GwyoC3p2de/enQuXLtGjZ0+0Wi2jRo1ixYoV9OjRg2+++YYWLVqgdnBA7eCIplIlQEVecgrGbB1aby+0lSvj4OOD2t4etdae2NURZF+OxrlWLRx8vJVz52dk8NdTQzkxaTJpR44S/fNyAFL27ef8rNkkbNteauznvvqGM599UabrzDh9hr8GPc2Zz2diys8HIOv8eXJir2JIzyjnXRNCiPuLdNUuKxVU5MPWwMBA9u3bB8Aff9hOelK1alVlorAbjRkzRvm+b9++9O3bt8TXQgghhCg7Y24uuXHXQH29nUHtaEmc3d3dOXbsmLK9QYMGrFu3rth6PvnsM7KvxGDKywWVGnt3d5v9di6uuNYLAiDkww/IiYnl8JjXlP2mvDwyT5+xlC0YypUeaWl5jt+4Gf8nO10vazBgyMjEwcsTgIyTJ1Fprv93Lz3yBI5+vjgUs+JG4vadGHNySNr5J1W6dcWtfj30SckA5MTGovVwL3KMEEI8KKTFWQghhBCiGPrUNMzGfGU8MoCm0Fwi5aEpSLg1TpWKjBdW2WkInTqF0KlTUKnVOPj5AqB2dFTKWFu6c69dAyDjxElUdnZknb9A1LwfiJw0GUN6OpeX/MyBF17i5EfTMObmkpeYhCE1FbDM4n1yylSu/PIrufEJNt28zWYzKfv/xrlWTQCyr8RY7kFKCmBJnIUQ4kEmLc5lJFNiCCGEEA8OU36+ZXbrAhpnF+B6AlteagdHIB1Nock/S6JxcABnJ5wCquL9aFucH6qFc43qXFmxiri16/j7+ZfQp6QQOLA/aYcOE7fuNwCivv+B9OORAKT+fZCzM78GkwljTg7G3Fz0KSmY8vLQRV3k8JjXqPbUAAL79QEg4+Qp9MnJVB8yiKi588i5cgWz2Uye0uJ89ZauWwgh7heSOJeVCmRaDCGEEOLBYMrNBcyoHR0x5eZi7+aK3W3M0m3n7ITRzQ07F5cyldc0bIhPSDAB3bsp25yqVQUsrcB2rq74PPEYVbp1IXHHLgzp6cSuCgeg3vi3SNqzl6Sdu5Rj9alpZEdfASDr/AXA0mqta9YExypViJo7D62nJ15tWxP32wZS/j6AWqvFXDDWOSc2lpzYq5j0ejJOnUbjVIn8zEwcvL3xatP6lu+LEELcKyRxLqO7Oz2YEEII8WD7p5dEsnZj1lb2JC8x4ZZbmq1UGg2Ovr5Ftpc0W7V9pzACmjWz2eZYpYryfaslC5Xvq/buaVkyy2Ag/dhxKjdrgqaSo03ibEhNVbpfW6UdO07q2Ddwb9SQ7MvRBL39JnZOTjgFBpK4Yycxv64CQK3Voou6xMmPplmW5crJQe2gxZCaBkD9d8fj2bJFsdeRduQoZ7/4iibffIW9m2spd0gIIf7dZIxzeUiTsxBCCPGPc3R0JDk5+R9dEslkMIBag52zE841a6K2u/NtDWazmeTkZBwLjWUujVP16gDUHPZskX0qtZqHXnyBJl/PRK3V4hZiu/azPjVVaXFWzl/wcCD96DHsXFyU5Nf+hknAAnp2R5+cTO7VOPTJyRizs5WkGSxLVlllx8QoM3IDJO/9C0N6OrqoKOLWb+Dgf17BbDSWeI3xW7aiu3S51PsAlq70+pTUm5YTQog7RVqchRBCCPGvFhgYSExMDImJiWU+Rq/Xo9Vqb/mc+rQ0MJvR5uXech1l4ejoSGBgYJnKaj3cab1sScHyVqVT29nh360LudfiSTt0GH1KKtmXL2Pv7oYhPUPpgq6yt8dsMFC5eVPl4UDVvr1x9Pcnau48APy7dcGYk4Pu0mUyTp22nMBkws7VFf/OnYhZFY4hI4OME6c4PeMTnGpUJzc1lazJ75MeeRKA7JhYErdtJzfuGqemf0J+RgYNP5lOxslToFLhVr8eecnJnJ/1LVovL1r8+H2p13ftt9+J/nkZLRf/iPo23mchhCgrSZzLSFVBY5xffPFFOnTowODBg5VtZrOZjh07Mn36dFq2bFnkmPHjxxMSEsLTTz9dAREJIYQQ/y729vbUqlWrXMccPHiQRo0a3dL5dJejOfnpTNxDgqn7+thbqqOilCVptqo98iXMJhN7+w8iZf/fZF+OJrB/X2J+XYVny+ZoK1fGLTiYs599gc8TjyvHaT08qNKtC2lHj5Hy1z60Hh48NOJFzGYzpz6aDmYzxpwcnGrUwOuRNsT8uorEnX9yZdkvOPr7WSYSy8/nyrJfyImxdA9PP3ZMGVud+vcBAMwmE5cWLgag4SfTSflrP3B93eyMk6cwZGZSuWkTABK27UClVuPb/gkyTp/BmJNDXnIKlar43+ZdvbsyTp/BqVrgbY2hF0JUPEmc77J+/fqxYMECm8R53759qNVqWrQofryQEEIIISpGdkwMR14dB4DjPZ6QgaULN0D6sePYubpQtV9f8pKS8H7sUTybW8ZQt/p5MWp7+yLHBr05DkNGJiqNxlKXSkW98f+1fF+o67rWy5OYX1eSn5lJ3dfH4tGkMX9N/ICUfZZEWOPsTMq+vwsCUkFBl3tDRib6tDTMRhMASXv2KnVmR1/h+DvvAVDrxRdw9PPlwuzvAMvkaNmXLxd8n2yTOCf9uRvUarzbtrmd26aIWRWOxtGRKt263JH6bmTMzSVywkSqDRpItYH9K+QcQog7Q8Y4l1FFTUfSoUMHLl++zIULF5Rtq1atolevXgwdOpQ+ffrQrVs3Fi5cWEERCCGEEMIq/ehx5XsHb6+7GMmd4xpUF4BaLw7HzqkSdceNVZJmoNik2brdwcuzyDa1vT0qlUr5cm/Y0DLmWa3GrX49VCoVds2aoLK3p9rgp5RzuQYF4fJwbaUufVIShvQMDKmpJP+1j4zIE9hX9iA/K4ura9dBwZrWiTt2kRNnWb/ao3Ejon9aSk6MZV1pfbJlnenMc+dJO3KU6KW/EP3T0mKvx2wyEbd+A/k6HcbcXGJWhdusZV2cy4v+p3RZrwj6lBTMRiO51+Ir7BxCiDtDWpyBhD+2E7/1j1LL5Oblo1JBirZ8t8yvQxi+Ye1K3K/VaunRowcrV67krbfeIisriy1btrB+/XpGjBiBVqtFp9MxYMAAHnvsMWrXrl1iXUIIIYS4PemRJ7B3dyOgdy+8Hml7t8O5I4Le/i9gRuvhUSH1ezQMJXHbdlzrPKx0JVdXr0ab5T+h0mi4tHgJANUGDSD1wCGyzp0HLGtDW5b9ggvffY9TjepUHzqY09M+Jn7TFjwaN8K9UUMuL/of9m4uaCpV4uExr3Bg+Ajl3HlJyWTHxHLszbcBS0u42WgkX6cr0vU58+w5or6fj8rejvwsHZcX/Q+1Vmuz5FdhN05ipk9L48qyFfg88RiG9HTcghtg73p7M4VbE/+8cozfF0LcHdLi/C/Qv39/1qxZg9FoZMOGDTRt2hR7e3smTJhAjx49GDx4MAkJCZw+ffpuhyqEEELct8xmMxknTuDRpAmBfXtj5+R0t0O6I7Qe7hWWNAO4NwoFKDKTt7WLd2D/fjT4YCKVmzah+pBBhHw0GYCsqCilrCEtDc9WLXGuWUPZ5t+tC15tWgGQevAwjv5+OHh7YV+5slJGn5LClWXLldfm/Hwwm8m6cL1uK+sY67z4BEx6PQC6ixdLvK68pCSb1yfen8K1Db8TuzqC09M/IX7j5hKPLSvrzOA3nksI8e8jLc6Ab1i7UluFAS7HZaBRmwn0cy+13K2oV68evr6+7Ny5k5UrV/Lcc8/xxRdf4OPjw4wZM7Czs+OFF14gr2CyDCGEEKIiXLx4kfHjx5OWloaHhwcff/wxNWvWtCmzcuVKFi5ciFqtxmQyMWDAAJ591rI8UnJyMu+88w5xcXHk5+fTqlUr3nvvPewqYCmniqBPSsaQnoFrvbp3O5R7ioOXF8FT3sel9kPF7rdzqkTlJo0t37s44xbcAJWdHboo26TVKTAQB29vtN7eVG7WBK9WLTGbzdi5uZGfkYFDwTrYDT+eRtKuP4nfug19UjIZp05jX7kyhtTry1NlnTuPe2gIR994C69WLan21AB0BcPichMSUWst3dOzzp4jX6cj88xZZRIygNSDh0g7dr3bvjEvj+yCZbJyr10rqCcBsLRMJ+3ei3vDUK5t+J1qA/tjMhjIjbuGc62apd67vORkwPLZM5vNpOw/QOWmjUvsPi+EuHukxbmsKmqQc4F+/foxa9YsLl26RIcOHcjMzMTf3x87OzvOnj3LgQMHKjYAIYQQD7z333+fIUOGsHHjRoYMGcKkSZOKlOncuTNr1qwhIiKCpUuXsmDBAqVH1Jw5c6hduzZr165lzZo1nDhxgk2bNv3Tl3HL9GmWtYkdvO6Psc3/JI9GDbFzcSlTWZVajdbTs0ircKVqVVFpNDSf9x0Pv/wfS1mVCtc6DwPg6O9n+dfPl8D+fXHw9iI9MhJDWppNd2s7V1eyzp0nJyYW3YUoon9eRk5cnHK+vIQEZUxxdvQVLs5fwMnJHxG/9Q9M+fnk7/mLk1OmcjV8jVKndUw1WLqYg6XlGiDt6DHOfj6T819/w5Vlv5AVdZFTU2dw5LU3MBbT6KFPSeXom+OJDV+jtDib9HoSd+zk9LQZxKxcXab7aBW9dDkJf2wr1zFCiPKTxLmMVFTMclRW3bt35/z583Tv3h2tVsuoUaNYsWIFPXr04JtvvpEZtoUQQlSo5ORkTp48Sffu3QHL36WTJ0+SkpJiU87FxQWVyvI0OTc3F4PBoLxWqVTodDpMJhN6vR6DwYCfn98/eyG3wdpiWbgrsKgYDt5eGHU6m22VAgKA6zOBW7nUrQNYEubCtF5e5GdmAeDZuhVaL0/sXFzwaNSQrPPnyThxUil7ePRrZF+OBiAvIZHca/E4BlQBIGn3HgDOfz2bQ6NGYyzU0myVVdBabV+5sqU7ONfHJedcjQMg7chRpf70gjqsSXZhZz79nKxz50j4Yxv6lGRle9phy/GFW85vxmwycTViLQnbd5b5mPJK3rsPQ3p6hdUvxL3i3ug79a9wffmEiuDu7s6xY8eU1w0aNGDdunXFlp0xY0aFxSGEEOLBFBcXh5+fH5qCcakajQZfX1/i4uLw9LSdWXnr1q188cUXREdH88YbbxAUFATAyy+/zJgxY3j00UfJyclh6NChNGvWrMi5/q30aZbkQOtx54dlCVuO/n5knDwFgNrREXs3VzSOjsWWdatn+Xw5FiTWVk6BVZXtlaoG4B4aQn5mFi51Hibpz90k7d6D1tOTkI8mc3XtevSpqajt7UjatRuAqv36cDViLaa8PNxDQ3CqXp249b8BKOtdW2Wdt7RWu9Z9WFlaKy8xCbPZrLReWycTK5yw58TE4vLQ9TXI87NzyDh9BrAsRaVPSUXj7IxRpyPz7FmgbGt1m81mMJnIS0rCmJODPjn5psfcivysLE7P+IRqg5+i+qCBFXIOIe4VkjiXkaqim5yFEEKIe0SHDh3o0KEDV69e5ZVXXuHxxx/noYce4vfffycoKIhFixah0+l46aWX+P333+nSpexr4EZGRt6xOA8ePFiu8vknTgBwPCoKVXT0HYvjVpU3/n+b0uI3Vr4+WZnZ2xuDs1OJ5c1mM/ZPD+aCMR9VoTLm6oFoX/kPZnc3Dh06hPkRy9rNuoJu1enHjqMObsDJa3HQoqnlvIWWG0swGsHXB67GofPxJje4Hmz4HUwm4h202A/oi+n8BYyHj5Jw7BjY25Nud33ssUmvZ99nX2CKvmITb9zvG5XvL/z9N9HOlTCsWYc5Lw9Ns6ZgMqEKqEJe3DXysnNQV/GH8xfILWi5vnbpEskl3Yv8fDAYyN+6DeO5C9h37ghATnwC+774ElX1amhq1Sz2Xprz8jCeOo3K0ZH8bTvQjhiuTOBWElNBd/TYyBMk/kOfx/v5c38vuJfjr+jYJXEuB8mbhRBC3K+qVKlCfHw8RqMRjUaD0WgkISGBKlWqlHhMQEAAoaGhbN++nYceeoglS5Ywbdo01Go1rq6uhIWFsW/fvnIlziEhITg4ONz29Rw8eLDcrd1RBw+T4OxM81atbvv8t+tW4v83uVn8+fXrs29lOADNP/wAlZ0Geze3kits3rzM5zY2zOWvRZYlsIKffVppsQZId3QkMmItAA27duaqwUDc1TjqPvYolZs2IXLDJtIjT9C0+/9h5+RE5rnzHDt8FHPcNZxqVMc3qC6XCrp2Axj/3EMRRiP2Hh5oHB1wNpoIatyYPVOmAVC1cWOuqFTU7NaFi/MXQGYmVTp1IMPOjsyClmg3O3saFNw7Q0Ym1zZuwt7VFf8uT3J8wkSbFm3DrwXjoQ0G8nfswjesPRm1ahZ77+PWbyBqzXo8W7YgJTGJ4GrVqFTKzzdA6qHDnAScDQYalvHzmHUhCkN6us1ka8qtycvj0MuvUuuFYXgXPOgo7H7/3P/b3Ur8ZqMRVKoiQyz+aXfi3ufl5ZX68FbGOAshhBACLy8v6tevrwwTWrduHfXr1y/STftCwVhPgJSUFPbt20fdupZZqAMDA9m50zLWUq/Xs3fvXurUqfMPXcHt06eloa1cccs2ievsnJxw9PfH0d8PrWfl0pPmctI4OlK5WVP8nuxokzQDuNWrR80XnqPpd7Nw9PfHs2ULtJ6euBaMo642aCB2HdorS5EVnvDM0d8Pe/eCOG9IEuwK1nNWF3Q3d6tfj0qBgeTExpJRaDnRzFOncapeDZfatZVt7g1D8S60Znjh8cRxv20gesnPXPhuLnmJideT5hKSFP0NcxIUln0lBgDdpUsAShfztCNHSdi+E5PBUGQyM2t9ufHxJdZ7o4s/LuTcl19bupPfIPdqHPqkJGXMeHFMBkO51rVOOXCQ/CzLWHdTfj5xv/2OqWAc+q0yGQy3dfyDwmw2c+S1N4heuvzmhe8DD2yLs9lsViYzKQtVxQ5x/scV98tMCCHEg+2DDz5g/PjxfPvtt7i5ufHxxx8D8NJLL/Hqq68SGhrK8uXL2b17N3Z2dpjNZp5++mkeffRRACZMmMD7779Pjx49MBqNtGrVioED751xkYbUNOwrcL1jYavJN19WWN0NJr1b7HaVRkPVXj2V1x6NG9FiwTzltXtIMHZ5ucprOxdn5Xun6tWVBN/l4dpUCgggLyGBjJOn8H7sEVQqNbnX4kg9eBjX+vUw6nSkHjjIuZlfK3VknDqNZ6uWOPr725zT5eHaJO76k/ysLJvEOe3QEeX7uN9+v34hJhMPjRjOtd83gUp1feKz5GRMqalcWvQ//Lt0tplQLSfGkjjnJViS0rz4BLKjoznx/hQAknfvIWX/39R9/TV8nngMuL7OtCE1DWNurs049LRjxzn35deETJ1C9uVoDGnpJO3eQ9bZc5j0evISE3H0tZ3QLbugG70h1TKDvUmvJ37zVnw7hqEp6Glyde16riz7hRYLf8DOqeh479iINThVq0blpk3Qp6Zy6sNp1Hz+Oar27kna4SNEzZ2Ho79fsS3eZWFIT+fAiJep+/pYvFq1vKU67lXWcfplpU9KJjv6Spln1AfIiYsjefdeXOrWwaNhaHlDxKTXo7KzIz9Lh72ba7mPvx0PZOKs0WgwGAxotdryHXgf5ZoGg+GeWVdTCCHEP6N27dqsWLGiyPZ5864nFhMmTCjx+OrVq7NgwYIKia0imc1mTn7woSUBevSRux3OA+NeWKvY2vIM4FovCHt3y8RxDl6e1B33KrpLlzgy9g1827fDtW4dznz2BQAuD9XCpW4dzEYj6SdO4uDjQ8bJU5jy8iwt1wU9GzROTqjt7VHb29Po0xlc/HEh1zZuBiwTc2WeO0flFs1J/fsACVv/sInNuVYtGn/1BfrkZA68aFm+Ky8xCdP8hcTm5GDOz6fW8OeV8tkFibNVbnw88YXqTNlvmfQsetkv+DzxGOe++obUQmNGc+MTcK5RXXl9cf6P6JNTOD7+PQxpaWg9PW1avLPOncfR19eyPvW+/Tj6+5MTW5A4p1sS56vrfuPyov9hNpkI6PF/gKVV3pSXR9b580USq/QTJ7n04yLUWi1tVixVlgkzFCwlpywVVo4W6xtlnj2HKTeX9KPHbBJnk8FA1vkLuNWvd8t1/5tlR18hb8ZnpLzzFp4tyjY0wjqhne7iJcwmU5m6a1/6cREp+/9G4+REq58X37Qh05ibi9rBAZVKReaZsxx76x1lX8v/LfxHk+cHsqu2h4cH8fHxmEymMh+jQnXf5M0mk4n4+Hjc3WXWUCGEECI/I0NZSqgsMxqLB0fhybNc69ZV/pNu52b5P5RzzZo8ErFS6epda/jz1HjuGdyCG6BxcKDGM0NpOGMqNV8YptTj6O+HSqWi4SfTaTr7ems0gL27O6bcXIy5uVxZsRJMJvw7dwLAkJ6Ba/16SnfxSlUDlDWxrV23Tbm5kJMDWFqEwfJgKPXQYaWV1yp2VThZZ8/h3+VJZZtzrZrkXr1KdnQ0CX9sw5CeodSdc8V2EjRDwSz01qS1cNKs0mjIOnee1EOHOfrG25ye/glHX/8vV5b9YimbmoYxL4+r4REAXNu4SekNaV1vO+vsuSLvR/RPSy31FzT+WBNlQ0am5fXVgsQ5qfRZxtNPnFTuz410URdt4rA6P+tbjo9/96Z130zm2XPs7tWPnLhrt1VPWRkyM5UVAwrLiYuz6ZqfceoUGI2cnz0HQ0amci+tTAYDV1asJDbi+vrmmWcsibMxJ4fcgonkSqNPSSXlwEFUdnYYs7NJPx6pzDJfnJy4a/z11FASt+0Arg8zsMqNs0yo90/1pP3HmhxjYmJ45ZVXlNeZmZlkZWWxceNG3nrrLaKjo9FqtdSoUYMpU6YoY6qOHDnCpEmTyMvLo2rVqnz66ad4eXndVize3t7ExMRw5kzJb9SN0jLzMJpMZKfdm39Q9Xq9TQu7s7Mz3t7edzEiIYQQ4t+h8H+E1Y63PzGZuD/Zu7lizNOCWl3iWHht5coE9u1ddHuhuQIc/S1rm7sG1S16joJGjfgtf3A1fA2+HTtQuXkz1I6OmHJzcQoMRG1vjy7qInYF3cZVGg2VAqpgyMgkPyMDAN+wdiT8sZ0TH3yIV9s2XJj9XbHxOteqSY3nnrW0cpvNVO3Xl7OffcHVdb9dL1OjBnmJiZz5/EuMeXmY9AZ8Hn8UQ8G5CvNo2gRTbi6m/HzSjkUSv2UrGicnao8aSfyWrWSdOw9Yku6kXbsxpGcosWacPIVZp1OW1soslDhf/t9P5MTFkXHqNGpHR4zZ2ejT0q+3YBfEYk2k049HcmrqDGo8+zRpR45Qpfv/2bRsXvxhAeb8fJp8PVPZZjabiZrzPUkFE77pLl7CbDQqD08Sd/1pOVd6Og7et56LJO601JO060+qDex/S3Wk/H0A94ahSvf2wvKzLcuTOVULBODQf0aTn5XFIxErATj+7iQ8GjUkZuVqqvbpRfVBA8mKikJ38RJoNBjS0zn08hjyMzMJnTFVaWGPXrqc2JWWyej8OnXCzqkSmWfPoXF2wqjLRnfxIpWq+BeJp7CEP7aByUTN4c9zcd4PnJ7xCRrHSrT48ftiyycXTMSXsn8/vmHt0CengEpFo88tD2LykpLIOH2G1AMHoXePW7mV5fKPJc6BgYFEREQor6dOnYrRaESlUvHiiy/SqmAGy48//pjPPvuMadOmYTKZ+O9//8v06dNp3rw53377LZ999hnTp0+/rVjUajXVq1e/ecFC3p+3l2sJqcx9t9ttnftuOXjwII0aNbrbYQghhBD/OnlJSQDUeGaoTeubEAD+XZ5E42wZ66xxcKDBxAk4P/RQuerQerhbWm5NJhz9Sk4urK3JCX9sR+3oSO1RI1CpVDj4eJNzJYZK1ari1bY1eQmJNolgyNQPyTp7llNTZ4BGg3/XLiT8sZ20w0eUBLRStUDMBoMyKRhA1X59sXOqhGOVKuhTUvBu25qL7u7EF3QXB0ui2PjLzzj98Wec/3o2AHFr1xWZ/MetQX0aTJyASq0mdnUElxYuBqDOa6/i2bwZlaoFEjlholJn/KbNVAqsykMjXyJ5336u/b4JU8Ha3A4+3mSePYfu0iXyEpNs1tSu8n9diV25muzLl5VEOT8jk7ykZCWRzjxlmZAtPzubjMgTVG7eXEnqTAYD2ZejUanVypxHlxYvwdHP1zJmvIApL4+c2Ks4Va+mrJttjd1Kn5pKvk5HTuxVTLl54HK9a39h6SdO4hpUF7WdHfaulvHAeYmJpB48RNz636g3YTzqglb0jFOn0V26hM8Tj9sMFbDKvhLDqY+mU7lZU+pNeFs5zurCt9+RtGs3LZcsxN7VVZk4zTr7debpMxizszHl5pJ19hzJe/dxesYnAKgCAwlo1YLYlatR2dlxZdkvBE+eZDnvpcvKOdIOH8GzZXN0F6Lw7dCeaxs3o7t4Ce+2lpnS044dx61BfZvYzGYz8Vu24hbcgMrNmnBxHhh12Rh12eQlJuHgY2nQi5z4AZWbN6Nqrx4k7fnL8l7kW8Ze61NSsfdwx9HP8vAp60IUces3ULlZU2yntasYd6Wrtl6vZ+3aMAtsLwAAIABJREFUtfTr1w8PDw8laQZo3LgxVwu6BkRGRuLg4EDzgiUIBg0axO+//15snRVNrbp/umoLIYQQ4jp9QeLs26F9uSa5EQ+G2qNGUvPZp5XXlZs2sSTC5aDSaNB6eKCys0PrWbnEctbkQXfhAu6hwUri4ejrA4BTYCCVmzYp8oBH6+GOY4BlaSmVjzeudetQf+IE7FxdMOp0ONWsQdNvvqJStWoA+LRvh/ejj+DdtrXl9ROP4du+HSqNhsotCpb0Keii7f1oWxx8fKg7biwudeoQ0LO7krBaVfm/boRO/0gZ4+rXqSNqR0fs3NzwaGxpuHEPbkDd118joFcPzEYjmWfO4texAxpHR3zbtSN5z15MZ86AWo3fk50wpKZy9ouvOPPJ59fvo50d/p0t1559OVqJIzs6mgPDRxTpjp5x8pRlf6GkLycmFnN+Pia9npzYq+QmJBC7cjWXFixWyngVLJWVeeYMhsxMLs7/UdlnKNTt+cJ3c4mcMInT0z7m7BdfYjxv6d59beMmMgta13OvXSNywkSl1d/aOp51IYqTU6aSevCw0hIPcGnR/4iaM4+zX3zFjYy5uWQXrBueevAQe/s9ZWkpLsTaxdw6Zl257tir5GdlYc7PR1dwPzJOn+HC3OutvWo/H2oMHUyjzz+h2lMDSDtyVOmRo09Lw6NxIzTOzpz55DNOfjgNk16Pe2gIlaoGKHHkxF7lxMQPSNxhWWHB2o06I/IEuXHX8OvUAQcfH5uZ4a1jpfVpaaQfO87/s3fn8VHW5/7/X7Nnsi9khQRI2AIBlCBoK6CigoJipVil1C6Kx58eoVatFI8s354uwepRj1IrPVWhdTkcjlIjigrao6iAcQGMIIawKCEhCdkz+/z+mGQgZTEbmUx8Px+PPpq575l7rhnAyTXX9bk+FW9uoq74cxpbpq83luxj/+q/0nTwINbERExRkRgjIvh63Yv4nE6ybvjBSe/V2RCSxHnz5s2kpqYyatSoNsd9Ph/PPfccl1xyCQBlZWVkZGQEzycmJuLz+aipafuPoicYDYY+NVVbREREApyVVRjM5mCbrMjZYE1MICI15YwDlCIHDiQyK5Dcxp3we7K1XyBxtg8YcIbrB9qHDS1JduL4fBJbilPRQwLbX7W2mKdcNJnh9/wi2Iacdf115Nw6H+D41lg+HxOfXc2gn9wYeO7+GYz9w+8ZfNNPGfOHAgZ8/1qiBg9qia9t67I5Ooqc/+9fyL7l5jZVx+Qpk4g+YYu6xPMD8aVOuwy/x4O36GNiR+YSf+45QCA59rlcwfvH5o4gIjUFS1wcDSX7cFQE1tV6W9Z1A20mlrdWiWt37uTA356j5IlVweFrAB/fvoBP77q3zTVG/XoZQxfegSUhgcp33+Oz+5dTdkLremvF2ed2U/PpzjYVaO8HW/E6HJQ8sYoDqwN7iTtapphXbH4bCKzvhkAy2Kp25/G9g921dcFjJ0659jqdfHjTvwSv2+qf1/22Tn6vaqnWHr/fgeCU9Nb3xdvYiPtYDTGt27bZ7RhMJqKH5BDXMpitdesw97EarP2Sgu3ltZ/uACBm2FCiBg8OJs6tW5c1luyjfu+XfHD9PJoOHuLwy69gjo4m6TsXYDSb20x8b93DvPULhKaDh/j8t7/HmpRExjVX46qu5ut1L1K/5wusiYnBLgyAyIFZwbb0sy0kY5XXrVvH7NmzTzr+61//msjISObNm3eKR3XemTaybq+6uhp8/kDLc7gK59ghvOMP59hB8YdSOMcO4R1/OMcuHeOsrMTWL6ldE2FFOiv18kvxuc68P7DBYGD4PXfx5WN/bDPhPf6cMTR/9VUwWTgVc6SdlEsv4dgJCUncqFwq3txE9JAhAMHt1s607Vrc6DwgsAbbHBV1yvvEDB1CzNAhNB36isbS/adc85ty0eRTPvbE9eGt7dNRA7OIHjqUhr17STp/AlGDBmKwWPCfsJ/yOY88iDUhUK2398+g5uNPAq3vaWk4jgQGbY1YdA8NX5a0ae0GKHvlVTAaMVos+P5pr2rPCWu1LfHxwUneCfnjqHhzEwDDf3kXtuRkdt23BHdtLT6Xi8ot7wWGsbW+J8OH01BVScOXJeDzUbvrM9y1tcE12xCYTO6urQWjEUtcHBkzr6Ty3S3U7thJ5nXfx+/346quxhwbi6eujqavvg5OMneUleFpaMDT0IA1KYlxjz/CB9fPO54Mt2itENd88mmb4V9NBw5gjjl1R03ufb+i5IknacgfFzwWNXgQGI00luwj8bzxgX3u4+Ppf83VxOWN4tO7foklIQFrv35EDR5E5f+9w9Z5PyYuL/CFT2Ppfizxn+BzODjw179Rve1DBsyZHVyXHZGejrOyiujswdR8ugO/399mXbunvoERi27D53ZxotZ5AbakJJoPfdWjU857PHEuLy9n+/btrFixos3xgoICDhw4wBNPPIGx5YMrPT092LYNUF1djdFoJL6Deyzm5eVhO8Xi+Y54fdc2quqPkp+f36XrhEpRUVHYxg7hHX84xw6KP5TCOXYI7/i7K3an09ktX97K2eWqrMKqgZlylrW2GH+TyKxMxqz4bZtj/b5zQXD96JkMveP2Nl/6JYwfT+LE80icEFj2GDlgAEarFdsZ/r4bLRby//R4u5YtWJMSW/6//cOyWiui/zzBPn3GdPY+VkrS+edjtFiIzs6mfs8erElJ+H0+ogYNCt43IiMj2IYdkzsCx5EjGCMiSDx/Yps13CfKnDObjGuupmTlExhtNireDGzFZbBYsCYk4KyoCFb7IdCSX/HmJpIuOD9YhbfExeKurQ0MyvrflwL3yz8XT2MT0UNyqN+/PzhpGp+Pyvc+wNvYGLxm9bbtuGtqSDp/IiPuvRsItG6XbXgNr9MZaCF3OEiefCHlr79Jw969GAyBKe6tW29B4IsDk92OyW7HdSyQOHsaG6ndsRNXdTXRQ3Jo+LIk8OVCi/o9X2Dvf7yTt3XNffw5Y7HExjDil3e1+btjstmIHNCfhpJ9eOrrwefD0vLFRVRONtFDh2If0B+DwUB09uBADPUNVL2/FQgkzqaWNdrVW7djsttJn3FF8Pppl19KzPBhWOPjKfnjn6jf8wUNX5YQOTCL+HPGEj10KEkXTKRhX9vp5raWv3OtHQLBankP6PHE+cUXX2TKlCkkJBxf3/HQQw+xa9cunnzyyTaTn/Py8nA4HHz44YeMHz+e559/nunTp/d0yECgVdunVm0REZE+pXbXZ9QVf07yaapjIuHMEhtD7uJFwdv9Jn2XuLGjMUefupLcqk278xkEq38dmDIdkZ5G/Lhzybr+ujbHUy6+iIM2a7CqnjB+HJ6mRoYu+NfggKtWJyaAsSOGc/SttwNt8AYD6TOvxBIfR+P+Axx+6e/BfbDTZ87AHBnJ8Lt/ARBMnM956AGMNhsf3XYHkQMHBq+bOPE8sm+dT/KUKcFjlrg43LW1gaoykH3LzaRefin4/Rx++RVwOqn55FMi0tMwmM0cfesfRGUPwhwTjTkqmppPP8V1rIb4sWOC14wbM5rD61+mYtNb+Foq7HF5eVRueZ/anbso/cszRKSmkDD++Je59pYhatbEhOA2YEde3ciBNX8DIHnKZBpL9wfbtW0pydTu3IU55viexxEpyQz9+YJgu/2pROXkUPPRx8E9wFu7BQwGA6N/+/+C65RPdQ1vczPHPizClpKMs+IoQxfegfWE4mfSBeeTdMH5eJub2f/MGg499wJ1n+8m5eIpDD5h+7bo7GxGLV/Ckdc2UvX+VsytW8K1vJbWreB6QkgS5/vuuy94e+/evfzpT39i0KBBXH/99UBgAvfjjz+O0WhkxYoVLF26tM12VKFgNBrwt3/bZxEREenl3LW1fLY08Mtfa3uqSF9mMBrbJC9d1e/C7+JzOALDntrJaLEwaum/nfKc4YQO0czrvs+AObPbTA9vZW8ZhGZJiA9u79Wa7BstFlIuvojK997HaLUy9I7bMEVGYrRY2lxj6MJ/xWA2B6vMeb/5f222UzKazaRf0bZgZ4kLJOSuqioG/uiHbSqordX32h07Sb5oMlGDB7P/qWdw19dj69ePmOHDKH9zM36Pp02rfOzIXDAa2fenVcev1S+J+HPGcPTtwICtxn2lNO4rxRQVhc/pJDonMNXdmpgYbNVu+PL4gDF75gCihw2l8r33A+/l9dex/6lnqGq5HYg36RvbnJMumMjRt//BrsWBydonxm08odhpiYsj+1/mc2Tj6zTtP4ApMhJvUxMA/a+9hpSLppzUYdDKZLeTMesqDj33AhgMpM+ccdJ94s8ZS/2eL6h6f2twzfyQO26j5pMd2E+Yh3W29XjivHHjxja3hw4desb9lMeNG8fLL798tsP6RkajAZ+mg4mIiPQZ5W9sCuzl+tgjPTZcRqQvsaenMfBHPzxr1z9V0gwEkyV7//7BCmTEP+0hnHTB+cSPHXPaddopl1zc5nZsO1p+LXFxwTXLrcOzWp24V3dUdjbJUyZxYPVfcRw+TML4fOLPOSe43ZXlhKns5shIYoYOpf6EfMiWlEjmD66j6r0PsKUkE5mZybEPi4jMHMDwu38RnMxuTUwMPq7hhGFjtuRAot66LZctOZnkKZMpK9yAyW7H29zcrvb6pIkTGPrzBez9j0danu/0E+HTr5yOq6qKpv0HiB2ZS/LkSZS9soHE8fmnTZpbDZj9PWo++ZTIzAGn/W9x/+/NwmizkXxRoAPAGh9/2nX0Z0tIhoOFI03VFhER6Vsq3nqbuNF5SppFwkxEehoYjdj7ZwQSVqPxpH/HBoPhtElzZxmtgaq1NSkxWPVt1SZxHjwIa3w8CePzqd66DWtSEgn55wbPt67zbpU85UJcx6pxtkzgtiYmYrRayZ7/M2zJyVji4jj2YVFgffoJA+IsCfG4qo/hrqsLPhYCibI9PT14u3WadVnhBrzNzdj7ZxA9pH17kSedP4HWkV3f1K0Q0fKc1qREkqdMInnKpHY9h9FiYfTv/v3M97Fa6X/N1e263tmixLmdTEatcRYREekrvA4HzV8fpt+kC0Mdioh0kNFiYeiC24keOgRrfDzn/McDRGZmfvMDu6h1O7ChP18Q3Mqr1YmJc+uwrNRLL6F66zZs/ZIwWq2MWr6EvY8+RlTL+VbpM64kfcaVbJkV2HWotQ06fcaVwfsMXXgHsSPbtlZbExPxuVzU7tgJwMil/4a9f39MNltwX28IbA8WNSiwfjsqezBjH1wBp6nm/zNTRMTxn7+hctzaQn/ie9Fep+su6E2UOLeT0WgIbuAtIiIi4a3p4CHw+4k6YRiQiISPlIsvCv584sTtsyntimkknT/xlNuCmSOPJ5WtE8kT8seRcfVMkr5zPhBYq3veX1ad9NhWObffiqPsyCnPpVxy0UnHWhPUis1vYTCbiRkxHHPLJOsT12ubo2MwGI2M/68nMUXYOrz13rgnHsdxwk5HpxOZlYkpKjK4b3hfo8S5nQwGA0qbRURE+oamAwcAiByUFeJIRCRcGM3mM+6lDWA8oUJrMJkYfNNP2339tMsv61A8rdOsjxV9TPy4c4NJM7TdIsxkD8TUkennJ7Knp7VJxE/HHB3NxL8+0+HEPFz0zVd1FhgNqFVbRESkj2g8cBCjzUZEamqoQxGRPsL2839l/Koneuz5Igf0J3HCeUBgkNeJTkxee7INuq8mzaCKc7sFtqNS5iwiItIXNJbuJzIrq0//kiciPcsQG4slNuab79iNsn54A97m5mA7uJw9SpzbyajhYCIiIn1Cc9kR6j4rZsDs74U6FBGRLokaNJC8f19+ynPnPfNfeJsdPRxR36XEuZ20HZWIiEjfUFb4CgaTibQrrwh1KCIiZ401Ph7OvIOUdID6k9opsB2VMmcREZFwV/f5HuLyRmFL6viWKSIi8u2kxLmdAttRhToKERER6SpPXS2WhIRQhyEiImFEiXM7GQ1a4ywiIhLu/H4/7to6LHGxoQ5FRETCiNY4t5PRGBjj7vf7e3Sku4iISE8pLS1l0aJF1NTUEB8fT0FBAYMGDWpzn3Xr1vH0009jNBrx+XzMmTOHG2+8MXh+w4YN/PGPfwx+Xj711FP063fmfU97ks/hwOdyYYlV4iwiIu2nxLmdWpNlnx9MyptFRKQPWrp0KXPnzmXWrFmsX7+eJUuWsHr16jb3mTZtGtdeey0Gg4GGhgauuuoqJkyYwIgRI9i5cyePPfYYzzzzDMnJydTX12O1WkP0ak7NXVcHoIqziIh0iFq126l1m0ef+rVFRKQPqqqqori4mJkzZwIwc+ZMiouLqa6ubnO/6Ojo4JfJDocDt9sdvP3000/zs5/9jOTkZABiYmKw2Ww9+Cq+mbu2NXGOC3EkIiISTpQ4t5MxWHFW4iwiIn1PWVkZqampmEwmAEwmEykpKZSVlZ10302bNjFjxgwuvvhibr75ZoYPHw5ASUkJhw4d4oc//CHf+973WLlyJf5e9rkZrDirVVtERDpArdrtZGpZ46yKs4iIfNtNnTqVqVOncvjwYW6//XYmT55MdnY2Xq+XPXv28NRTT+Fyubj55pvJyMjgmmuuafe1d+3a1W1xFhUVnXTM8+kOAHYfOoixob7bnutsOFX84SSc4w/n2CG84w/n2EHxh9LZjl2JczsZlTiLiEgflp6eTnl5OV6vF5PJhNfrpaKigvT09NM+JiMjg9GjR/P222+TnZ1NRkYG06dPx2q1YrVamTp1Kjt27OhQ4pyXl9ct7d1FRUXk5+efdPyrA4c4AJz7ne9ijrR3+XnOltPFHy7COf5wjh3CO/5wjh0Ufyh1R+xOp/OMX96qVbud1KotIiJ9WVJSErm5uRQWFgJQWFhIbm4uiYmJbe5XUlIS/Lm6upqtW7cybNgwILAu+t133w1s+eR288EHHzBixIieexHt4K6txWCxYLJHhDoUEREJI6o4t5MqziIi0tctW7aMRYsWsXLlSmJjYykoKABg/vz5LFiwgNGjR/PCCy+wZcsWzGYzfr+fefPmceGFFwIwY8YMdu3axZVXXonRaOTCCy/k+9//fihf0kk8dXVYYmO1taSIiHSIEud2UuIsIiJ9XU5ODmvXrj3p+KpVq4I/L168+LSPNxqN/OpXv+JXv/rVWYmvO7jr6jUYTEREOkyt2u2kVm0REZHw53U41KYtIiIdpsS5nVpbuny+EAciIiIineZzOjFGKHEWEZGOUeLcTqaWd0oVZxERkfDldTgwdcPUbhER+XZR4txOWuMsIiIS/nxOJ0YlziIi0kFKnNtJa5xFRETCn8/pxBShxFlERDpGiXM7qeIsIiIS/rwOVZxFRKTjlDi3kxJnERGR8Ob3+9WqLSIinaLEuZ3Uqi0iIhLefC4XgIaDiYhIhylxbqfWirNXFWcREZGw5HM6AbQdlYiIdJgS53ZSq7aIiEh48zocAJhs1hBHIiIi4UaJczupVVtERCS8+ZyBVm2jTRVnERHpGCXO7dSaOPt9IQ5EREREOiVYcdZ2VCIi0kFKnNvJ2PJOqeIsIiISnoJrnDUcTEREOkiJcztpjbOIiEh4a02cTRoOJiIiHaTEuZ2Ca5yVOIuIiIQlr6O14qzhYCIi0jFKnNspuB2VWrVFRETC0vFWbVWcRUSkY5Q4t5NatUVERMKb19m6HZXWOIuISMcocW4nbUclIiIS3oLbUWmqtoiIdJAS53ZSxVlERCS8BbejUsVZREQ6SIlzO5mUOIuIiIQ1n9OJwWzGYDKFOhQREQkzSpzbydDSqq1ObRERkfDkczq1FZWIiHSKuaee6KuvvuL2228P3q6vr6ehoYFt27ZRWlrKokWLqKmpIT4+noKCAgYNGgRwxnM9qaXgrIqziIj0We35zF23bh1PP/00RqMRn8/HnDlzuPHGG9vcZ9++fXzve99j7ty53HvvvT34Cs7M63BqKyoREemUHkucBwwYwPr164O3f/Ob3+D1egFYunQpc+fOZdasWaxfv54lS5awevXqbzzXk7QdlYiI9HXt+cydNm0a1157LQaDgYaGBq666iomTJjAiBEjAPB6vSxdupRLL700FC/hjLwOh7aiEhGRTglJq7bL5eLll19m9uzZVFVVUVxczMyZMwGYOXMmxcXFVFdXn/FcT9NwMBER6cva+5kbHR0dXL7kcDhwu93B2wBPPvkkF110UUi6w76Jt6kJc1RkqMMQEZEwFJLEefPmzaSmpjJq1CjKyspITU3F1DKow2QykZKSQllZ2RnP9bTgdlRKnEVEpJd66623TnvuiSeeOONjO/KZu2nTJmbMmMHFF1/MzTffzPDhwwHYvXs37777Lj/5yU86/yLOIk9DI+aoqFCHISIiYajHWrVPtG7dOmbPnt1jz7dr164uX6Om0QNA6f79FJmOdvl6oVBUVBTqELoknOMP59hB8YdSOMcO4R1/OMZ+99138+STT5Kfn9/m+B//+Eeeeuopbr311m55nqlTpzJ16lQOHz7M7bffzuTJk8nMzOT+++/nd7/7XTD57ozu+Mxu9c9/hs6qSgzWtLD5sw2XOE8nnOMP59ghvOMP59hB8YfS2Y69xxPn8vJytm/fzooVKwBIT0+nvLwcr9eLyWTC6/VSUVFBeno6fr//tOc6Ii8vD1sX92w8Vu+A9UfI6J9Jfv7gLl0rFIqKik76RSqchHP84Rw7KP5QCufYIbzj767YnU5ntyaC32TJkiXcdtttPPPMM8E1xytXruTpp5/mz3/+8xkfe6bP49PJyMhg9OjRvP3220yfPp2DBw9yyy23AFBXV4ff76ehoYFf//rX7X4N3fGZDaf+M9zq9tAvK4ucMPh7Gc7/fiC84w/n2CG84w/n2EHxh1J3xP5Nn9k93qr94osvMmXKFBISEgBISkoiNzeXwsJCAAoLC8nNzSUxMfGM53paZIQFgCaHu8efW0REpD1mzZrFbbfdxs0338zBgwd5/PHHeeqpp/jzn//MmDFjzvjY9n7mlpSUBH+urq5m69atDBs2jIyMDLZu3crmzZvZvHkzP/7xj7nuuus6lDSfTX6/H0+jWrVFRKRzerzi/OKLL3Lfffe1ObZs2TIWLVrEypUriY2NpaCgoF3nepLVbMRogCaHJyTPLyIi0h4//vGPOXbsGN///vcxGAw89dRT5OXlteuxp/vMnT9/PgsWLGD06NG88MILbNmyBbPZjN/vZ968eVx44YVn8yV1C29zM/h8mKOjQx2KiIiEoR5PnDdu3HjSsZycHNauXXvK+5/pXE8yGAzYrEZVnEVEpFd56qmnTjoWFxdHZGQk+fn5bN++ne3btwPw05/+9IzXOt1n7qpVq4I/L168uF1x3XHHHe26X0/xNDQAYI5WxVlERDouJMPBwlWExaCKs4iI9Cpr1qw55XGj0cjHH3/Mxx9/DAS+AP6mxLkv8zQ0AqjiLCIinaLEuR38fj+f//vvyHSk0ejoF+pwREREgjZv3hzqEMJCa8XZpDXOIiLSCSHZxzns+P3U7/mCEdV7VXEWEREJQ95GVZxFRKTzVHFuB4PRSOyokaR+Usx2rXEWEZFeyuVysWbNGt544w1qa2sZOHAgP/3pT5k4cWKoQws5rXEWEZGuUMW5neLyRhLlqIfaY6EORURE5CQHDhzgiiuu4IsvvmDhwoU89thjXHHFFfzqV79SOzda4ywiIl2jinM7xY4aCUB89dchjkRERKQtp9PJ/PnzmT9/Ptdff33weE5ODllZWdx3331ccsklFBQUcMcddxAZGRnCaEPD09AARiMmuz3UoYiISBhS4txO1sQkAIzOZvx+PwaDIcQRiYiIBDz33HNkZmZy/fXXM3/+fJxOZ5vzpaWl1NTUUFVVxapVq1i4cGGIIg0dT2Mj5uhofX6LiEinqFW7nYxWCwAmrwenyxviaERERI574403mD17NgAXXXQR+/bt44ILLmDq1KlUVVXxk5/8hMjISH7yk5/w4osvhjja0PA2NWOOVLVZREQ6RxXndjJaWhJnv5dGh5sIm946ERHpHQ4cOEBOTg4Ar776KsuXL2fq1KkAXHbZZcyePZu77rqL3Nxcjh49SnV1NYmJiaEMucd5HQ6MNluowxARkTClinM7GcyBRNns92lLKhER6XVa27NLS0tJT08PHk9OTqauro6amppgm7LX++3rnPI5nZgiVHEWEZHO6XLi7HZ/O7ZnMhgM+EwmTH4vTdqSSkREepHBgwdTUlICwNixY3n00Uc5evQoDQ0NPPTQQ6SlpdGvXz9KS0ux2Wz069cvxBH3PG+zA2OEKs4iItI5HUqcV69ezcaNG4O3Fy9ezNixY5k2bRr79u3r9uB6HZMZs99LoyrOIiLSi0ydOpUXXngBgGXLluF0Opk8eTLnnXce7733Hv/5n/8JwEsvvcTFF1/8rRyQ5XU6MClxFhGRTupQ4rxmzZrgmqjt27fz6quv8oc//IHc3FwKCgrOSoC9ijmQOKviLCIivcn1119PRUUFzz//PCkpKTz11FN89NFHbNu2jfXr1zNy5Eh27NjBs88+y2233RbqcEPC51CrtoiIdF6HJlyVl5czYMAAADZv3sz06dO58sorGT58OHPnzj0rAfYqLYmzpmqLiEhvEhERweOPP878+fM5fPgwN998M7GxsQB4PB5efPFFHnzwQZYtWxYcIvZt43WoVVtERDqvQ4lzdHQ0VVVVpKen895773HTTTcFLmI243K5zkqAvYnBbMLk8uJ0K3EWEZHeJTc3l//5n//hoYceYurUqWRkZGCz2SgtLSU3N5cnn3ySMWPGhDrMkPE6HJg0VVtERDqpQ4nzd7/7Xe6//35GjhzJwYMHmTx5MgB79+4NVqL7MoPZjNnpxaXEWUREeqG0tDRWrFhBc3Mz+/fvx+12k5mZSUJCQqhDCym/34/P6cQYERHqUEREJEx1aI3z0qVLGTduHNXV1TzyyCPEx8cDUFxczIwZM86zCoQKAAAgAElEQVRKgL2JwWLG5FPFWUREeje73U5ubi5jxoz51ifNAD6XC/x+TEqcRUSkkzrcqn3//fefdHzBggXdFlCvZjZjwYnL7Qt1JCIiIkHHjh3jf//3f4NLqG655RYcDkfwvMlk4sEHHwwO+Py28bW8F5qqLSIindWhivOXX37ZZtupLVu2cPfdd/OnP/0Jr7fvV2ENZjMWNBxMRER6l//+7//myy+/DN7evn07aWlpDB06lKFDh1JZWckzzzwTwghDy9uSOKtVW0REOqtDifPixYv5/PPPASgrK+O2226jtraWv/3tbzz88MNnJcBexWzG7PdpjbOIiPQqr7/+OrNmzWpz7I477uD+++/n/vvv5+c//zlvv/12aILrBbwOJ4BatUVEpNM6lDjv27ePkSNHArBx40bGjBnDqlWrWLFiBa+88spZCbBXMZsw49MaZxER6VW++uorBg4cGLw9fPhwrFZr8PawYcM4cOBAKELrFVpbtY2aqi0iIp3UoTXOXq8Xi8UCwPvvv8+UKVMAyMrKorKysvuj621a93FW4iwiIr2I0+mkrq6O9PR0AJ5//vk25xsbG9t1ndLSUhYtWkRNTQ3x8fEUFBQwaNCgNvdZt24dTz/9NEajEZ/Px5w5c7jxxhsBePzxx9mwYQNGoxGLxcKdd97JpEmTuv4Cu6i1VdtkV8VZREQ6p0OJ87Bhw3juuee4+OKLef/99/nFL34BQHl5+bdiaqfBZMLk03ZUIiLSu2RmZvLZZ58xfPjwU57fuXNnu7aNXLp0KXPnzmXWrFmsX7+eJUuWsHr16jb3mTZtGtdeey0Gg4GGhgauuuoqJkyYwIgRIxgzZgw/+9nPsNvt7N69m3nz5vHuu+8SEeIW6WCrtk2Js4iIdE6HWrXvvvtu1q5dy49+9CNmzJgR/IDevHkzY8aMOSsB9ipmMya/EmcREeldLrvsMh599NFTdn+Vl5fz2GOPcdlll53xGlVVVRQXFzNz5kwAZs6cSXFxMdXV1W3uFx0djcFgAMDhcOB2u4O3J02ahN1uBwLt4n6/n5qami6/vq7yaTiYiIh0UYcqzueddx7vv/8+DQ0NxMXFBY//4Ac/CH5Q9mnmln2cNVVbRER6kZtuuonXX3+dyy+/nFmzZgXbq/ft28ff//53MjIyuPnmm894jbKyMlJTUzGZTEBgC6uUlBTKyspO2sZq06ZNPPTQQxw8eJC77rrrlJXul156iaysLNLS0rrnRXaB19m6HZUSZxER6ZwOJc4Q+CCNiIjgiy++wGAwkJWV1a72rz7BbMbk8+BS4iwiIr1IVFQUzz77LA8++CCvvPIKdXV1AMTGxnL11Vfzi1/8gqioqG57vqlTpzJ16lQOHz7M7bffzuTJk8nOzg6e37ZtG4888gh/+ctfOnztXbt2dVucRUVFAHj2Brbq2rn7cwxh9EV/a/zhKpzjD+fYIbzjD+fYQfGH0tmOvUOJs8fj4cEHH+Rvf/sbbrcbv9+P1Wpl3rx53HnnncHBYX2VwRx4u9wud4gjERERaSs2Npbly5ezbNmyYHt1YmJisI36m6Snp1NeXo7X68VkMuH1eqmoqAgOHDuVjIwMRo8ezdtvvx1MnD/++GPuueceVq5c2SaZbq+8vDxs3TD9uqioiPz8fAAOlZRyEBg3cSLGMPld5cT4w1E4xx/OsUN4xx/OsYPiD6XuiN3pdJ7xy9sOrXF+4IEHePnll1m+fDkbN27k9ddfZ9myZfz973/noYce6lKgYaElcfY4nSEORERE5LiGhgZeeuklGhoaMBgMJCUlkZSUhMFgoL6+npdeeommpqYzXiMpKYnc3FwKCwsBKCwsJDc396Q27ZKSkuDP1dXVbN26lWHDhgGwY8cO7rzzTh599FFGjRrVza+y87wOBwazOWySZhER6X06VHEuLCzkt7/9bXAbKghsRZWYmMi//du/ce+993Z7gL1Ky7ovnyrOIiLSizz//PNs27aNa6655qRzMTExvPrqq1RVVXHTTTed8TrLli1j0aJFrFy5ktjYWAoKCgCYP38+CxYsYPTo0bzwwgts2bIFs9mM3+9n3rx5XHjhhQAsX74ch8PBkiVLgtdcsWLFaad99xSfw4nRZv3mO4qIiJxGhxLn+vp6MjMzTzqemZkZXE/Vp7VUnH1uV4gDEREROW7Dhg0sXLjwtOd/+MMf8vDDD39j4pyTk8PatWtPOr5q1argz4sXLz7t49etW9eOaHue1+nUVlQiItIlHWrVHjFiBGvWrDnp+OrVqxkxYkS3BdVbta5x9roC67tFRER6gwMHDjB06NDTnh8yZAgHDx7swYh6F5/LhdGqirOIiHRehyrO99xzD7fccgvvvfce55xzDgCffPIJFRUVbb6N7rPMLVt0+Lx4vD4sLbdFRERCye/3U1VVRUZGxinPV1VV4fP5ejiq3sPnVKu2iIh0TYcqzueddx6vvfYa06dPp6mpiaamJqZPn85//dd/nbIS3ee0VJzNfi9O97f3FxAREeldhg0bxpYtW057/p133jljRbqvC1Scuz6pW0REvr06vI9zamoqd955Z5tju3fv5vXXX++2oHqtlsTZ5PficnvBrumcIiISerNnz+Y3v/kNQ4YM4dJLL21z7s033+TJJ5/kvvvuC1F0oedzuVRxFhGRLulw4vxtZjix4uzyhjgaERGRgDlz5rB161b+9V//lcGDBwf3Ty4pKeHAgQNcccUVzJkzJ8RRho7P6cQSFxvqMEREJIwpce6Ilu2ozK0VZxERkV7iD3/4A5dccgmFhYXs378fv99PdnY2CxYs4Morrwx1eCGl4WAiItJVSpw7orXi7PPiVOIsIiK9zJVXXvmtT5JPxet0YrRpjbOIiHReuxLnW2+99YznGxsbuyWYXs9y4nAwJc4iItK7NDQ08N5773Ho0CEMBgNZWVmcf/75REdHhzq0kFLFWUREuqpdiXNCQsI3nh8wYEC3BNSbGSyBYWBmv0et2iIi0qts2LCBZcuWUVdX1+Z4bGwsy5cv54orrghRZKHncypxFhGRrmlX4vy73/3ubMcRHloSZ4tPw8FERKT32LNnD7/85S+ZNm0aN910E0OGDMHv97N3717+8pe/cM8995Cdnc3w4cNDHWpIBKZqq1VbREQ6r0P7OH/rBadqe3C4PCEORkREJGDNmjVMmjSJBx98kJEjR2K1WrHZbOTl5fHQQw8xadIk1qxZE+owQ8Lv9eL3eFRxFhGRLunRxNnpdLJ06VIuv/xyrrrqKu6//34A3nrrLa655hpmzZrF1Vdf3WZP6NLSUn7wgx8wbdo0fvCDH7B///6eDLkNg8kEJhMWvxeHKs4iItJLfPjhh9xwww2nPX/DDTfw4Ycf9mBEvYfX6QLApIqziIh0QY9O1X7ggQew2Wxs3LgRg8FAZWUlfr+fX/7yl/ztb39j2LBh7N69mxtuuIFLL70Uo9HI0qVLmTt3LrNmzWL9+vUsWbKE1atX92TYbRitViw+Dw6nEmcREekdysvLycnJOe357OxsysvLezCi3sPnCiTOqjiLiEhX9FjFubGxkZdeeomFCxdiMBgA6NevXyAIo5H6+noA6uvrSUlJwWg0UlVVRXFxMTNnzgRg5syZFBcXU11d3VNhn8QUYcPs9+BUq7aIiPQSzc3NREREnPZ8REQEDoejByPqPXxOJ4DWOIuISJf0WMX50KFDxMfH89hjj7F161aioqJYuHAh48eP5+GHH+a2224jMjKSxsZGnnzySQDKyspITU3FZDIBYDKZSElJoaysjMTExJ4KvQ2TzYatSa3aIiLSu+zZs4e4uLhTnjt27FgPR9N7qOIsIiLdoccSZ6/Xy6FDhxg5ciT33nsvn376KbfeeitvvPEGf/rTn1i5ciX5+fkUFRXx85//nFdeeaXbnnvXrl3ddi2n14sFLwe/LqOoKLy+vS8qKgp1CF0SzvGHc+yg+EMpnGOH8I4/3GK/6aab8Pv9pz3f2u31bXO84qzEWUREOq/HEuf09HTMZnOw7Xrs2LEkJCRQWlpKRUUF+fn5AOTn52O32ykpKaF///6Ul5fj9XoxmUx4vV4qKipIT0/v0HPn5eVh64YWraKiIqLi44mocBITl0h+/rguX7OnFBUVBd/jcBTO8Ydz7KD4QymcY4fwjr+7Ync6nd365e3pbNq06aw/R7hqrThrOJiIiHRFj61xTkxMZOLEiWzZsgUITMuuqqoiLS2NI0eOsG/fPgBKSkqoqqoiKyuLpKQkcnNzKSwsBKCwsJDc3NyQtWlDYI2U1a99nEVEpPeIiopq1/++jdSqLSIi3aFHp2ovX76cxYsXU1BQgNlsZsWKFSQnJ7Ns2bI2Q8N++9vfEh8fD8CyZctYtGgRK1euJDY2loKCgp4M+SQmm7VlOyoNBxMRkd7h/PPP/8ZWbIPBQHFxcQ9F1Ht4NRxMRES6QY8mzpmZmaxZs+ak41dffTVXX331KR+Tk5PD2rVrz3Zo7Wa0WjH7PRoOJiIivcaZtml85513WL16dXDQ5reNz6mKs4iIdF2PJs59gdFmw+zzqOIsIiK9xoQJE046VlxczIoVK/jwww+5/vrrue2220IQWej5XBoOJiIiXafEuYOCibNTFWcREel9Dh06xMMPP8xrr73GZZddxoYNG8jKymrXY0tLS1m0aBE1NTXEx8dTUFDAoEGD2txn3bp1PP300xiNRnw+H3PmzOHGG28EAjto/Pu//zvvvPMOBoOBW265hTlz5nT3S+yQ4xVntWqLiEjnKXHuIKPVhtHrwamKs4iI9CLHjh3j8ccf5/nnn2fcuHE899xzjBkzpkPXWLp0KXPnzmXWrFmsX7+eJUuWnNQGPm3aNK699loMBgMNDQ1cddVVTJgwgREjRvDyyy9z8OBBXn/9dWpqarjmmmu44IILGDBgQHe+1A5pXeNsUsVZRES6oMemavcVJpsVk8etNc4iItJr/PGPf+Syyy5j+/btrFy5ktWrV3c4aa6qqqK4uDi4beTMmTMpLi6murq6zf2io6ODg8gcDgdutzt4e8OGDcyZMwej0UhiYiKXXnopr732Wje8ws7TVG0REekOqjh3kNFmw+D34XK6Qx2KiIgIAI888ggRERGkpaXx7LPP8uyzz57yfk888cRpr1FWVkZqampwiJjJZCIlJYWysrKTtoHctGkTDz30EAcPHuSuu+5i+PDhwWtkZGQE75eens6RI0e6+vK6xOdyYTCZMHxLh6OJiEj3UOLcQa3DRQxuF16vD5NJRXsREQmta6655hu3o+pOU6dOZerUqRw+fJjbb7+dyZMnk52d3S3X3rVrV7dcB6CoqAj3V1/jN5koKirqtuv2lHCM+UThHH84xw7hHX84xw6KP5TOduxKnDuodbiI2e/F4fISZVfiLCIiofX73/++y9dIT0+nvLwcr9eLyWTC6/VSUVFBenr6aR+TkZHB6NGjefvtt8nOziY9PZ3Dhw8H28T/uQLdHnl5edi6Yc/loqIi8vPzKdn+EZU2G/n5+V2+Zk9qjT9chXP84Rw7hHf84Rw7KP5Q6o7YnU7nGb+8VdbXQSZba+KsLalERKTvSEpKIjc3l8LCQgAKCwvJzc09qU27pKQk+HN1dTVbt25l2LBhAEyfPp21a9fi8/morq7mzTffZNq0aT33Ik7B53ZjtFhCGoOIiIQ/VZw7qLVV2+LzaECYiIj0KcuWLWPRokWsXLmS2NhYCgoKAJg/fz4LFixg9OjRvPDCC2zZsgWz2Yzf72fevHlceOGFAMyaNYtPP/2Uyy+/HIDbb7+dzMzMkL0eAL/bjdGqxFlERLpGiXMHGVsqzha/F4dTFWcREek7cnJyWLt27UnHV61aFfx58eLFp328yWRi+fLlZyW2zvK53RjMSpxFRKRr1KrdQa3bWajiLCIi0vupVVtERLqDEucOOnGNc7MqziIiIr2a3+3GYFGDnYiIdI0S5w4yRkQAYPV5aGhyhTgaEREROROfx6OKs4iIdJkS5w4y2VsSZ7+bxmZ3iKMRERGRM/G5XEqcRUSky5Q4d5DJbgfA6nPToMRZRESkV/O7PRiUOIuISBcpce6g1sQ50uBV4iwiItLLaTiYiIh0ByXOHWQ0mzFYLEQZvGrVFhER6eX8HiXOIiLSdUqcO8FktxNpVMVZRESkt/NpqraIiHQDJc6dYLJHYEcVZxERkd7O59ZUbRER6Tolzp1gstux4aGhSYmziIhIb6ap2iIi0h2UOHeCyW4PTNV2KHEWERHpzfweTdUWEZGuU+LcCSa7HYvXTWOTK9ShiIiIyGn4fT78HrVqi4hI1ylx7gSTPQKz102T04PP5w91OCIiInIKfo8HQImziIh0mRLnTjDZ7Zg8Lvx+aFK7toiISK/kcwc+ozVVW0REukqJcyeY7HaMbieAtqQSERHppVoTZ6PFGuJIREQk3Clx7gST3Y7B5QS/X5O1RUREeil/MHFWxVlERLpGiXMnmOx28Pux+D3UNWpAmIiISG90vFVba5xFRKRrlDh3gskeAYDV56Gu0RniaERERORUfG4NBxMRke6hxLkTTHY7AFafm1pVnEVERHql1lZtg1mJs4iIdI0S505oTZwjUKu2iIhIbxUcDmZV4iwiIl2jxLkTWhPnBIuf2ga1aouIiPRGx6dqK3EWEZGu0ZjJTrDExgCQYFHFWURE+o7S0lIWLVpETU0N8fHxFBQUMGjQoDb3efzxx9mwYQNGoxGLxcKdd97JpEmTgo9fsmQJdXV1uFwurrzySu64444QvJIAvxJnERHpJkqcO8ESGwdAvMHDfiXOIiLSRyxdupS5c+cya9Ys1q9fz5IlS1i9enWb+4wZM4af/exn2O12du/ezbx583j33XeJiIjggQceYNq0acybN4/GxkZmzpzJlClTGDNmTEhez/Gp2vp1R0REukat2p1gbqk4x+JUq7aIiPQJVVVVFBcXM3PmTABmzpxJcXEx1dXVbe43adIk7C1LloYPH47f76empgYAg8FAfX09AA6HA4PBQGJiYg++iraCU7U1HExERLpIiXMnGM1mTFFRRPmc1Dao4iwiIuGvrKyM1NRUTCYTACaTiZSUFMrKyk77mJdeeomsrCzS0tIAWLx4MRs2bGDSpElccskl3HTTTQwYMKBH4j8Vv4aDiYhIN1HvUidZ4mKxex00NLvw+vyYjIZQhyQiItJjtm3bxiOPPMJf/vKX4LEXXniBWbNmcfPNN1NRUcGPfvQj8vLyGDt2bLuvu2vXrm6LsfTLLwPX/Hw3hq+/7rbr9pSioqJQh9Al4Rx/OMcO4R1/OMcOij+UznbsSpw7yRIbi7WpGb8VGppcxEXbQh2SiIhIp6Wnp1NeXo7X68VkMuH1eqmoqCA9Pf2k+3788cfcc889rFy5kuzs7ODxNWvW8OabbwKQkpLC+eefz/bt2zuUOOfl5WGzdf0ztaioiMyMDEqBsfnjsMTGdvmaPamoqIj8/PxQh9Fp4Rx/OMcO4R1/OMcOij+UuiN2p9N5xi9v1ardSZa4WMyOJgBqtM5ZRETCXFJSErm5uRQWFgJQWFhIbm7uSWuUd+zYwZ133smjjz7KqFGj2pwbMGAA77zzDgANDQ0UFRUxdOjQnnkBp9Daqm3QGmcREekiJc6dZImNw9jcAEBVrSPE0YiIiHTdsmXL+Otf/8q0adP461//yvLlywGYP38+O3fuBGD58uU4HA6WLFnCrFmzmDVrFnv27AHgd7/7Hc8//zxXX3011113HdOnT2fKlCkhez3H93FWg52IiHSNPkk6yRIXi7+pEfx+qmqaQx2OiIhIl+Xk5LB27dqTjq9atSr487p16077+Ly8PJ5//vmzEltnBLejMuvXHRER6RpVnDvJHBsLXi82n4uqOlWcRUREehu/x4PRasVg0ABPERHpmh79CtbpdPLb3/6W999/H5vNxjnnnMOvf/3r0x4HKC0tZdGiRdTU1BAfH09BQQGDBg3qybBPydKyl3OKzadWbRERkV7I53JhUJu2iIh0gx79NHnggQew2Wxs3LgRg8FAZWXlGY8DLF26lLlz5zJr1izWr1/PkiVLWL16dU+GfUqW+HgA0q1eKtWqLSIi0uv43B6MGgwmIiLdoMdatRsbG3nppZdYuHBhsGWqX79+pz0OUFVVRXFxMTNnzgRg5syZFBcXU11d3VNhn5YtKTBlNNnsoloVZxERkV7H73ZjsChxFhGRruuxivOhQ4eIj4/nscceY+vWrURFRbFw4UKio6NPeXz8+PGUlZWRmpqKyWQCwGQykZKSQllZ2UnbY/Q0a2ISAIk4qKxVxVlERKS38XncmqgtIiLdosc+TbxeL4cOHWLkyJHce++9fPrpp9x66608+uijpzz+xhtvdNtzn2kj644qKioCwO/3g8WCsfYodYYMPtj2IRZT7x4+0hp7uArn+MM5dlD8oRTOsUN4xx/OsUuA3+3GaLWGOgwREekDeixxTk9Px2w2B9uux44dS0JCAhEREac8XlpaSkZGBuXl5Xi9XkwmE16vl4qKCtLT0zv03Hl5edhsti6/hqKiIvLz84/fTu5HshVwQ1b2CDL6RXf5Oc6Wf4493IRz/OEcOyj+UArn2CG84++u2J1OZ7d+eSsd43O5MWiNs4iIdIMeW+OcmJjIxIkT2bJlCxCYll1VVcXAgQNPezwpKYnc3FwKCwsBKCwsJDc3N+Rt2q2siYnYmhsAOFLZFOJoRERE5EQ+t1q1RUSke/Top8ny5ctZvHgxBQUFmM1mVqxYQWxs7GmPAyxbtoxFixaxcuVKYmNjKSgo6MmQz8iWlETTkWKIh7KqxlCHIyIiIifwezwYNRxMRES6QY8mzpmZmaxZs6bdxwFycnJYu3bt2Q6tU6xJiXhrarAmGTiixFlERKRX8bndmCMiQh2GiIj0AT3Wqt0XWRMT8Xs8ZMUaKatU4iwiItKbBFq1VXEWEZGuU+LcBdaWvZyzIn1q1RYREell/EqcRUSkmyhx7gJbUmAv5zSLiyNVTYEtqkRERKRX8LndGJQ4i4hIN9CoyS6wtkz3TjW7cbktHDhSz6D02BBHJSI9we/3U1XroF+8/aTjBkPbPd2bnR4+31/NwLQYjAYD0ZFWLObj31s63V7+8dFXNDk8ZCRHkdM/jqS4wHU9Xh9llY3YbWb6xds5fLSBjR8cIDbKisPl5YuDx8jLSeKtokPM+M5g6hpdnDsihQHJ0XxxsAa7zcyxegdmkxGny8vEvDQqa5uxmEy4vV6sZlPwNTQ0u7GYjdgsprP87on0DE3VFhGR7qJPky6wJMSDwUCGzQPA1s/KlDiL9LD6Jhder5/4mJP3am92evD6Ap0gXp+fr8rrOVrTzLnDkjEaDTQ5PERGmGl2evB4/cRGWXF7fDz0bBEOl5crvjOIQ0fqaXJ62PbZEcYOTabJ4WZoZjyHKxt56R8lXDYhi7SkKPYdruVIVSM19U5GDU7iYHk91182nJp6B8+/+QU19U5iIi04XF6GDIhn8rn9cXt8VNY089GeCr6qaAjGbTDAuOEpNDTU8ec33wqeG5gWQ1llI16fH6/Pj8EA/eLtfLSnAoAnXtwJfj/rXt2Jxe+h2WRjSONXeA1GSiL74zcYMZsMeLz+Ns81YmAi/eLtvL/zMDGRVs4dnsKEkWmcPzqdY3UOdh+oxuv1M3JwEtuKj3D5xCwsZiXX0vv53ZqqLSIi3UOJcxcYzWYs8XGYGusYnjWQrbuO8INLh4c6LJFez+/3U9PgxO32kZxgP6lCe6SqEbPJSE2Dk7WbvsDr9VPydS0XjRvAReMG4PH6eHPbQQ5XNrK/rI6GJhcDUmOIjDBjNBiIj7ERFWHhjW0H8Pn8pLxxjOpaBy6PD4BhWfE0Nrv5+mgjkRFmDIDT7WNYVjyHjzZS0+Ak2m7hw8/LgzGlxllZ/38lWMxG3th6AAwGsjPieGPbQQDSk6JIsBvx+fz83ydfExNp4fert5PgqiMvxs13ncWUVhs5lDmaj0qdfL6/mihPMxfVfMKQ/jn8yHCA/hdP4mjxXnbHD2HPvr2MLttJlN9D4oXfpdlkY/fhcnKGpHPjnAnU1DtxvPYy3tIiymyRxFw8lc//91WGVX+B0dEMgKFfCv7KQFJt6p+J88cLOLT9U7L2vI+huhJfWn+qxkzi/UoXB76oZPKoVI454KPdFfxj237Gew6xw5RGsykwlbg16d722RFGDErks32VDEqP42hNYB/7mEgraUlRnDssmX7xdmqbPBSXVpGdEceOLyvJHZxITKT1rP7dEjmRWrVFRKS7KHHuImtiEq6qaiZOSmP1hs+pqm0OtliK9DUerw+P18fDz3/MebmpTD0vi6PHmtlZcpSSr2tJiIlgzJB+fH20gU3bD9Lk8HBebipRdgtOtxeT0cCb2w9SVevA4fTg88PonH74/H4OldeTnRGH2WwMJqxGo4EIqwmrxcSgtFjWvbWX/9m8NxhPlN2CxWzkwnP601xxFHdVJfXRSeyqaMBYXcF3zsnB520iuewQcYl+Es49B1dpCe/sP0Su7xizrfX4jxyhZMJV1NliOFJ2jOmGAwzITSI72cTXO/YSmZSAd+/nNH20H+uIUcRl9ady81tYJ3yHyKZ6zCMH4Hc5MbocVH2wjbTb76DKbWLIsP4c+PhzGp9/Ed/BeowREWS7XGRXl3BZZhb4/Xiqq/A1NUHNXvzAV3s/B2AwbzEYwG7HGhmJq/A5bMD5gNFq5ct/PI0p0o6zvIKowYOILSvB99l2RhgM9Jv0XaKH5NC4bz9H3/4HA2+chyU2hi8f+yMpm/4b8/YiIlKSiZ1wLlVbt5H6ZTHfj4nB29yM9Ugi9ox06nbvwefzg8vJd1IGkDpnDpW797KpMoKJTSW881EMez9oIjbazs6ddqISYqmw96Ox2U1Ds5tnXgG7zYzT5cHnP0JUhJlGh4dB6bFMv85MYagAACAASURBVGAQHq+Pi8YNoMnhobrOwcjBiew5eIzd+6u5YHQGHxYfITkhkgmj0oJ/1l6fH6OBk75kETkTTdUWEZHuosS5i2xJiTjKy5k4KpA4b/vsCFd8Z3CowxI55VrbVm6Pl9e3HmR0ThIuj4+oCAuvvr+fPQeqGTc8hbycftisJhJibByocLJv0xccPFLP1s+O4Pf7cbi8fLCzjB1fVvL2R1/h8/mxmo3Bii5A/+Roou0Wnn19T5vnzhkQx5RzBxAbbcVuNfPs63uIjbQwcVQauw8cw1h3jOsmZdOv7giHqp1cdcMU0lPjADh8tIE9736I9WAJsUNzyBo7HJ/Hiz3Cyo5fPo67poaonBwGXDuLPQ/+mdjI4TTGROP9cHvgyd97BRtwZUssBrMZo8XCmA1PYI6NxWix4Kqqgo/hIGBJSKD+o1rs/TNIn3EFFZvf5ujuz4jMHEDTlrfxxkTj+bAIg8mE3+vFYDbz9QMFGEwmvoiPx1VVhdFmY/gv7yZmxDC8Tc3U7tjJvif/jLVfPxLH5xM/djTlr79JxqyrcVZUkHj+ROo/343f6+FQTDTjxo/HcfgwXocTb3MzR//xDp6GBmo+/oToYUMZ8/vf4Kys5MvHnyDl4imkXHxR8M9/4LwbsCUn4/f7KXv1daq3bidudB659y3CZLczqK6eus8+4+g/3sEUGUndZ5/hOFJOysUX4XO7sCUnc+iFtdQ8/h+YgWkGA/j9XNX6h1nV8v9fQdTgwZhjY3AMzqTRaOUjVzxp+z5hQGYKH5W5MY8+l3d2V/HEuk8x4eO9516hCQsH7GnkZCWy76safH74y8uf0TpnccZ3A/8tNZuMbPn0a1KTovjOmHTcLi8Go4HROUl8fuAYX5U3MGFUGj6/n/SkKAakRGMwGCivbuJQeT3jc1M7+a9Iwpnf5wOfT4mziIh0CyXOXWRNSqSu+HMyU2NI7xfFB0qcpQccq3NQ3+QiIzma0sO1mE1GSr6qobKlklu0u4Kq2mYGpMRw5w3j2HPwGG9sPUCU3UJslJWGZjdbPj3c5ppGo4Gs1Bj++tru4wf9fgz48RuO0i/eTv6IFI4ea2bM0H4Ul1bzfx9/xeRz+zP74qFkpcZQXVHNnoN1RCdEMzrn/2/vzuOjqu/9j79mTyaTyZ6QBEhIgBAIAQRcQFBABCsYba8blat1a+uttvZ3Wym22KptBf35c8PaWvVXqy1VUVSqgF5UQBaRTSJLSGSL2UO2yTbbuX8EUiMw0BJIhr6fjwePR+bMkveccyYfPnO+53sSMZtNNLe0U7N2Pf7KCjzFxZhr2kk9dzqHNq7C8Pt4sJ+LxHPH0LR1MxfXltC0azds7/j1w4D9GxZTmdoHIxDAEhmJfdduMAwaV0Jh1zdA/29fT+niN9j98KNYo6Np3LkLDIPkyZNImTaVyuXvkTDufHz19cSOGoU1ykl7TS2HPtlI7dp1+BoaGD7/N/jq6zHb7cSdM4qg14vJZsNkMjHg5pswgkFMZjMNn+/AnTsEw+/H39xCU1ER9vh4ateuo3bdBtprasi6/RZcAwcSnTO4I2MCOPv1JSo7i8i0VGzujjkRUi6Z0mVbRKZ2HGkt3bQJs9WKs3//zvtiR+QD0F5biyUyEpPFQkRKCnn339flNUwmE46kpM6fs279DhUr3ifr9luwRHaMirG5o0m44HwSLjj/K5u86xcuKZdMoeXgQdqrqznw8iIG3fVfWJxOItPT8Tc10V5dzaFPN+EpLqFl/wF82wuxBoOce3ibcBDGBIM4mnYwqvYQ1rg4iIrGV7YXgIAjgtaDVlqHjsaNl/bSgyQ4LRQn5bJ5xQGc+Cm1x9PP5mXozq00rDGT1lbNwcgUDrRWsTZxLHviB/Hu2r24/c002lwM7BfL1ZMG8vsl2znU2M7kWA/emhraBuVz8ah0DjYGSDC18XFRHbmD0yiYmMXWbftISU/EYrGQlhQV8vMnYcLfMf+IhmqLiEh3UON8iuzx8fg9HoJeL+OGp7LkoxJKq5romxzd09EkjPn8AT7dWUmDx0tedgLOCBvvrN3Lxh2VJMdFsr6wAoDkeCdVh1qOev6wrASy0mPY8HkFdyxYiT8QJD3JRXVdK40tXppbfUwe04/MVDdx0Q7qDjUxfnQmyfFODmwqpGzdp3jPn0Tg9Zeh4iD9LptGlMugz/QxBL1eKle8z6WDHDT6D9D00XJaStLZZTJRt/FTTBYLSTffRPU+O6WvL6GtohKCh49Em80QDNJY+Dm2mBgszki8dfUcWrEczGZc2dn0u+4agl5vR1MaDFK/ZSttlVWYLBYCLS30/dZVpM6cQWtpKa1l5ZjMJhp37MLZvx/pV15B8qSLKX/nXRLOPw+ry8X29esZeGUBJosF95Cj5yBw9uuLs19f0r95JQSDmCxdJ70y2/9xTq7JYum8PzZ/eMdCmw1LZCSOxAsAcA/JIXXGN/DW1OIemnvM7XusHP+sI5fDO1nuobnHzfNVXx+l4EhMwJHY8btSpl7S5X6bO5rI9DRiR44AOobFGn4/rV+W0XLgIPv9XkZdOIGG7YXsemgB7qG5WBx2GrZ/zoDbbsGREM+hTzfRcuAgnq0fYY12kdCnD4Y/QMamZWR8LZs9KQnDFMSenkHEnmIMk5krPFvIvG40+z5Yg7F9M95BefhXF+P90McUd38YNpKMdW9hNQK0HViP8X4AhyMOV1stYxyx/OWLqXz09sd8u3QZO20uXk+9mFZ3It+dlvhPrV/phQIBAM2qLSIi3ULV5BRFpHQMAWwrr6DgomzeWbuPF97ewS9uOa+Hk0lv0O4LdLnt8wd4a9UXbNtTzTcnDWTVli/ZuqeatnY/re0BEmIiyEx1s2PvIZpavF2eazJBRh836wsruHz8AAJBg482l/K9b+bjsoG1vQXfmg8Ilu7n/Cvvpr2qimvHDueD3/+NuCgzg2NctJWVkTR1CmXl9bgbt9C64yCeki9IbmmhekQ+lX4/rQcPEmhoJK78Cxo//xyAypf+DED520vxNTTi93TM8myOiCA2fzitZWUEWltJv6qA5n372fvscwBE5wwmcfw4ItPTiB48mEB7O57iEnwNDaRfVYDZaiXQ2krp4jeIyRvW2YB9VcL5x/4s2WNjiMkbBnQ9YutISiTzxtmdty2ZGUc1w8diMpngJB53MiKSk4lITu6W1+pNTnR+sdlmA5sN18BsXAOzObhpE1ZnJAnnjWXMH36HPT6uY1j7V45qJ1xwPkYwiL+pCavbjclkwjAMWku/JNDSgtUdzaH1n2CNdpF08UWYrR1ly1PyBZjg8/seYO8TT4DJhGtgNp49hcSOGEm9xcmgHZsJrt2LIzkJR3IylqoaTFmDGeI5hC9mKJZP1nFX3fsEfX6sMTHEe9u51byTxpGXEekwh3qrEg78RxpnTUgnIiKnTo3zKYrK7hiW7SkpISUzg6suyuYvK3ZTUdtMnwQN9zsb+fxBAoEgEQ4rgaDBlt1VRDttDOwXx8YdFWwvrqF/n2hKqzy8taqEUdlRvP7Jx5RVe6htbMMwwGY1s6WoGovZxLj8NGKi7DjsFkqrPJTVeBg+MIGp/a0kJbjYVm/G7/UxtL6YAZNG0FheRc1bS4js25eZ5zhp/vBv+Bob8RSXYDs8NHHLHXcCHefwZvr9YDZTU+TAEhVF8aOPAdAWEUFkejqJF44DTNRv2YrJaiHo85NWMJOKd5dji4vDGD2K1IQErNEuGrYXEp07hORJF2NxRhKRnIzV5eqyfoxAgLotWwm2t5Nw/nlHNa2urK6nMlgiI8m4YdZp2lrSWziS/nEE9+sNuMlsxhYT0+V+Z7++nbfTryo46vVc2VkAjH3+D7QcPIg9Lg5bTAxtFRVEpqUB0F5dQ8uBA7iH5mJ2ODp/1xFNuy9jz5MLsURGknX7rTTtLmLvs88Rs28P1ju/3w3vOvzs3buXOXPmUF9fT2xsLPPnzyczM7PLYxYuXMg777yD2WzGZrNx9913M2HChM77//znP/Pyyy9js9kwm828+eabZ/hddDACR4Zq6786IiJy6lRNTlFkWhrmiAiaS76AKZOZMrY/f1mxmw82lXL9pbo0VW/l9QWwWc3HPIJmGAYNHi8xLjuGAVuKqthzsJ7EmAgKv6jlk88raW71Mrh/HPWedipqO4ZKH5kc66vXye2b7GJTsYe0RMgfmEh6RID+g/qSYW1hX0k5aX0TcRvtxI4c3pkl0NZGU9EePr/vfkqDQYYXzMRss1H62uvUL36l4xxbi4W6Tzd3Tkhl+P1EpKVh+H1k3/E9WktLiUhN5cBLfyVqQCbZd3wXk8VCsL2dA4teIXZEPrEjR3RpIqBjMp2gz4fF4aDfdddg+AN8tqeI/qNHA5A2c8YJ163JYiF+zOhT2TwiJ81ss+HKyuq8faRpho5m/asN+9dF5wzmnKce77wdNSATk8WCK2sARZ6m05K3t7vvvvuYNWsWBQUFvPnmm8ybN48XX3yxy2Py8/O5+eabiYyMZNeuXdxwww2sWbOGiIgIVqxYwbJly3jttddwuVzU1NT00DvhK0ecdY6ziIicOjXOp8hkNuPKGoCnuAToOOc0f2Aiy9fvo2BiFs4IFeze5mBlE3N/9zH9kqM7vtwwwavvF5E7IIGK2ma+rPKw+0AdyXGRNDR7aff+Y7h1jMtO/qBE+ia52LijkrjoCG78Ri5tOz/nQCCKQVnJjB2aQsnf36N1/VqcviTKA/VkJgyCxi+o+NtycDr5oqWj2S49PEtx3OhR2GLjaCsvx1NcQtDrxZGcREz+cMrefBuA+PPPw+qMJOjzkTH7BiwRDtqqqrHHxtD6ZRkx+cM7m964USMBiBt9TpcvByyRkQz4zo3HXTcmsxnL4SNzVqez29e9SG9mtlpJvWxax41Nm3o2TA+ora1lx44dvPDCCwDMmDGDBx54gEOHDhEfH9/5uK8eXc7Jyem4Lnt9PX369OH555/nhz/8Ia7DI1ESE3vwXPHDI3DUOIuISHdQ49wNorKzqVy+ovN6kbO/kcs9T67m+bc/5wdXj+zpeP8WAkGDvWUNfLanhhGDEjGAj7eVsW57Ga3tfmJcDqrrWklLiqK0yoPFbGbnvlrm/u5joONo8ZaiaqKddhJiIvjWpIGU1TST0VpBv7Id5HzvNjyGlT6Gh4DHQ3TOYK6fNICiRx+j+amXMFXXkBcbi7+piU2HJ6RxDcymrbycyPZ2Kle8j+HzETd2NI7EJJz90gm0ezuGlaamcmDRKxAM4hqYTdKki3EkJRI/dgyRfdOJSEnBGu0iefKkzqb2iCPDW4/Mnvz1+3XNWxE5WeXl5aSkpGA5fHqFxWIhOTmZ8vLyLo3zVy1ZsoT+/fvTp0/HTPAlJSVs27aNxx9/HK/Xy3XXXcc111xzxt5DF4f/FmtWbRER6Q5qnLtB/JhzKH97KdUfrSLlkikMyYjnqosHsviDYsYNT+OcIWffJEFnmj9gsLWois+Ka8hMdTMgLYZVW74kKtLG1qIqthRVEwwaXZ5jMZvIHRBPqt1Kc6uPCaPS2V/eyOghKXx7+hAsZhOVtS3UNrYyKieZ5lYfMd4mrBYzgdZW6rfuoXTF6wSam/ny12VYIiPZenhkgS0mBpPVireujrjR55B00UTK312GO28Y7twhxAzP65y4atOmTeQmp3BowyekHR52/XUpl14ChnHU+cIA/a75j9OwRkVETs0nn3zC448/zvPPP9+5LBAIUF5ezl/+8hfq6uq4/vrrGTBgAGPHjj3p1y0sLDzxg07G4SPOxXv3YgnT7xA3hfnIh3DOH87ZIbzzh3N2UP6edLqzq3HuBjEj8onKGkDp4jdIumgiZpuNWdOG8MmOCn7/xmc8fc8ULOYwrdpnUFOLl5r6VqwWMy1tPtZtL6ex2csXZQ2UlDYAX3J4ZHMXSXGRzLwwi9TEKEblJLF7fx1t3gATRqThctrxt7Rg+P3Y3G4Mw8DX0ECwzYO3pp7kvfuI2ref0sUHaauqZv/XzseL6NOH/tdfS83qNZhsNjJmfxtHUlLH5FfedpIuuoiE8zr+Q9j36m9hdjiOeZT3yCWPjscapYnkRKRnpaamUllZSSAQwGKxEAgEqKqqIjU19ajHbtmyhZ/85Cc8/fTTZH3lHPO0tDRmzJiB2WwmISGBcePG8dlnn/1TjXNeXh6Or42e+Vd88kXHtcKHDBt2Updi6202bdrE6NHhO19EOOcP5+wQ3vnDOTsof0/qjuzt7e0hv7xV49wNTCYTGTfMYsf9v+bgolfImP1t7DYLs6YNYf6Ln7K+sJzx+WknfqF/Ay1tPnz+INtLati8qwqb1cyu/XW4Im3sPlDX5XxiALvNgjvKzsS8aCaOzSV/UBJFB+o4UNHEmNwULGYTCW4H3qpKHMnJmK1W0hJdGIEAQb+fus1b2PPYkwT9fiKSk2gp/RLD5+vyOyxRUURl9Medm4N72FVYIiIAiB05AntcHABpMy/v8pykiybwdUeeJyISjhISEsjNzWXp0qUUFBSwdOlScnNzjxqm/dlnn3H33XfzxBNPMGzYsC73zZgxg9WrVzN27FhaWlrYtGkTU6dOPZNv4x/8GqotIiLdR41zN4kbfQ7Jkyfx5RtvknLpVCJSkrlgeBqpiVH8ccl2stJiSE08+48qfrqzkqBhEO+O4Lm3CjGbTIzKScZsgpLSBlZv+7LziLHDbsHnDzJ0QDzt3gAXn9OXoQPi8fkNnBFWEqIdZPeLxWoxs3XrFkbnpdJeXcOwdBdJuzfS/LfluIfmsvWV12grK8dktWKNcmJ2OPA1NmEEAhiBAM7+/TD8AXyNjaReNg17fDzW6GhssTFEZWRgT0zQucAiIsAvf/lL5syZw9NPP43b7Wb+/PkA3Hbbbdx1110MHz6cX/3qV7S1tTFv3rzO5y1YsICcnBxuuukmfvGLX3D55R1fNhYUFDB+/PgeeS8EjkwOpv/qiIjIqVM16Ub9b7ie6lWrKV38BgPv+C4Ws4mf3TiWe3+3lof+tJFH777orBmyvWv/IbbtqaZvcjTrPiunrMaDARQfrO98TIzLTqzLwZ/+vgOAqAgrMy7MIiXeSb+UaEYMSiIQCBKoqaK19EuisvrRuGMXfk8T0TmD+eKZpyhsaMRst9Hu8VA0YgQ1q1aDyYTh92O226lc8T6OpESybr8F76E6/B4PgXYvVlcUhs9HoK2drO/ehtneccTBbNUuLyJyPNnZ2bz66qtHLX/22Wc7f168ePFxnx8REcHDDz98WrL9044ccbbqiLOIiJw6dRHdyJGQQMrUS6hc8R5pMy7D2b8/A9JiuOM/8pn/4qcsW7uXyy/MOvEL9RLBoEFpVRN9EqL4rLiGj7aU0tTsJcJh5dOdlZ3DquOiHfRNjqal3ce4/FQuGJ5GW7uf8/L6EBcdQYOnHbPfizPSTtPuIuzxEdRtWs+2J/8HZ9++1K7fcPSJywAmE1FZA7A4HJgcDqo/WkX0oEHYYmNIvHA8MfnDqXjnXVIunYojMeEMrx0REenNjIAuRyUiIt1HjXM36z/rWmrWrKHk938k78FfYTKZGJ+fxohBifz53Z2MH5FObPSpT3pyqgJBA8MwsFrMAPj8ATbvqmLt9nIOVDYRHx3BgcpGKmpbMJtNBIMGMS47ibGRtNW2MDw7kQkj06iobeHqKYOwWS0EfT6C7e14ikto3LeLfYs2UJGSjM0dQ9XKDzACXc9fdiQnUbvhE9JmXo47L4+28nLcuUOwxcZSu34D9tjYznOJN23axPCsLKzR0V2OGvefdd2ZW2kiIhI+Dh9xPjLiSERE5FSoce5mNrebjNnfpuTp31P90WqSL56IyWTiu1flc+cjH/D04m387MaxPXJObVVdC8UH60lNjOL//XUztQ1tjB6SjM1qYcPn5TR4vLgibQzsG8uX1R7Sk1xcMSGbikPN5GbGc96wVGxWM0YwiN/jwRodja++npZdu2jcuYuyN9/G39TU+ftcgwbRuHM3gdZWEidOwJGYgCs7G3+zh4jU1I5ZToNBTIevGfpV6QUzj1p2ZKIuERGRE2pvBzRxo4iIdA81zqdByiVTqHzvf9j/4kskjr8As81Gv5Robrx8KM+//TmPLdrCbVcOxxXZ/d+CG4ZBa7sfh81C4Re11NS3Eh1l5/3N9ZQs+5iqQy1Ax/nGQzLjKfyiFq8vQHZ6LDMnZDFycFLnUWiA9upqbLH9aCsvp/7jj2ktL6dq5Qe0V1ZhjojA8PsxDl8rM270ObjzhhGRnETc6HOwREZiGEboLwmO0TSLiIicKqO5BbPDgSUysqejiIjIWUCN82lgsljof/217Lj/11SvWk3KlMkAXHlRNp5WH6+t3MOOvbVMHNWXKyZkEeP614duG4aBYcDWPdUcqGjizY+KqWloI9JhpbXd3+WxEXYLd3wrHwM4Py+VeHfHt/D+llZMFjNVKz+ksqid2rXrgY7zwhq2F/L1iyfH5A+nz/RpeGtqMVktHZdtio8nKjPj6HWh2apFRKQHGC0t2GLcPR1DRETOEmqcT5PYc0YRNSCTAy8vIm70aOyxMZhMJmZflsvY3BSeeGUrr7xfhMkEN0zPPeHrBYMGNfWtREZYWfDip7R5/eRlJ7Jiw368vgBthyfqys2M59LzM6mobebcoX2Id0dwsKqJqGAVI0aMwNbcQFtVNbbGWmq276fm47UcWv8JQOc5yI6kRBwpKbTX1pL+rasAcPZNJyo7G3tcLDa3/iMiIiK9XHMztpiYnk4hIiJnCTXOp4nJZGLgnf/F9jn3UvTIowz71bzOc3mHZMbz9E8nM2fhGjYUVhy3cTYMg027qtiyu4qNOyspr2nGajHhDxgkxkby2so9DB0QT7+UaPKyEhicEUdqQlTnUV5vfQNBbzuZ/R1s+/NHHPzwA5p278ZXV995FNkcEUHqzMsJtrcTPXgwrsGDcCQlYnH0/ARmIiIi/yqjpQVbenpPxxARkbOEGufTyJWdRfb3v8uex59k34svMeA7N3a5//y8VJ57q5A5C9fwo+tGYTabWLP1Sxw2C3VN7Sz+YA/+gIHDbmFAqpsrJmSxbns5qYlR/ODqkfj8QWxW81G/t6W0lLIlb1P53vv/WGgy4YmPx2Qy0+/aqwm0tZE0cQKO5GRs7ujTvSpERETOKENHnEVEpBupcT7NkidfjKe4mLIlb+HKziZp4oWd943PT+PV/yli9/465ixcQ1OLD6/vH5dsumB4KhcMT2XCyPTOCbtmHL4OdNDrpXnnLtoqKjj4ymJ8dXU4MzMgaNC8dy+YTKTOvBxn/34EWlspj45m9KSLjzuLtYiIyNnCMAxo1jnOIiLSfdQ4nwGZN99E8959FD/1NM7+fYnKzAQgKS6Sl++/jG17qnnsr5uZODKda6cOpqnFS0lpA5eel4HZ3DHs2ggEaK+upq2yCr+nmb3P/3+8NTUAODMzSJowHk9xCYZhkHnzTSSOuwBHUmJnhopNmzqGcKtpFhGRs1ygpQUCAWyxOuIsIiLdQ43zGWC2Wsn56f9h249/ys4Hf8vAH9yBe9hQTGYzJouFEYOSeGHetM7H90mIYlC/OLyH6mjcuYuajz+mfus2As0tnY+xJ8QzZO4cIlKSieybjtmqTSkiIgLga2wE0GSWIiLSbdRtnSH2uDhyf/4zts/9BZ/fdz/OjP60VVYx4Jab6HPp1M7HtZaXU7tuA/Vbt9Gw7TMAbDExJFxwAe4hg3GkpGC22XD264vV5eqhdyMiItJ7+eobAHSOs4iIdBs1zmeQKzuLMX94mtoNn/DF7/+I2WFn7x9foOVAKYbfR1tlFQ3bPsMIBLC6XPT/9vW4h+bizh2i85JFREROkq/hcOOsodoiItJN1DifYbaYGPpcOpXEC8cTaG1l9/z/S+WK9zDb7dhiYki7YgapMy/HHheHyXz0jNkiIiISmj0hAVNSIhF9+vR0FBEROUuoce4hVqcTq9NJ/oLf9HQUERGRs0r0oIE4vn87Vqezp6OIiMhZQoc0RUREREREREJQ4ywiIiIiIiISghpnERERERERkRDUOIuIiIiIiIiEoMZZREREREREJAQ1ziIiIiIiIiIhqHEWERERERERCUGNs4iIiIiIiEgI1p4OcDoZhgGA1+vtttdsb2/vttc608I5O4R3/nDODsrfk8I5O4R3/u7IfqT+HKlHcnyq2UdT/p4TztkhvPOHc3ZQ/p50qtlPVLNNxllczZuamigqKurpGCIi8m9u8ODBREdH93SMXk01W0REeoPj1eyzunEOBoM0Nzdjs9kwmUw9HUdERP7NGIaBz+cjKioKs1lnR4Wimi0iIj3pRDX7rG6cRURERERERE6Vvv4WERERERERCUGNs4iIiIiIiEgIapxFREREREREQlDjLCIiIiIiIhKCGmcRERERERGRENQ4i4iIiIiIiISgxllEREREREQkBDXOJ2Hv3r1ce+21TJs2jWuvvZZ9+/b1dKSQJk+ezPTp0ykoKKCgoIDVq1cDsHXrVq644gqmTZvGzTffTG1tbQ8n7TB//nwmT55MTk4ORUVFnctDrffesk2Ol/142wB6z3aoq6vjtttuY9q0acycOZMf/OAHHDp06IQZwyF/Tk4OM2fO7Fz/u3fv7nzeypUrmT59OlOnTuVHP/oRra2tPZIf4I477uCKK67gyiuvZNasWezcuRMIj33/eNnDYd//qqeeeqrL5zcc9n05sd7yOTlZ4VS3w7lmg+p2b80fDnU7nGs2nB11u8drtiEnNHv2bGPJkiWGYRjGkiVLjNmzZ/dwotAmTZpk7N69u8uyQCBgXHLJJcbGjRsNwzCMhQsXGnPmzOmJeEfZuHGjUVZWdlTuUOu9t2yT42U/1jYwjN61Herq6oz169d33n7ooYeMn/3sZyEzhkN+wzCMwYMHGx6P56jneDweY9y4ccbevXsNwzCMuXPnGk8++eQZyXssuKcZ/QAACflJREFUjY2NnT+/9957xpVXXmkYRnjs+8fLHg77/hGFhYXGLbfc0pk5XPZ9ObHe8jk5WeFUt8O5ZhuG6nZvzG8Y4VG3w7lmG0b41+3eULN1xPkEamtr2bFjBzNmzABgxowZ7Nixo/MbsnBRWFiIw+FgzJgxAFx33XUsW7ash1N1GDNmDKmpqV2WhVrvvWmbHCt7KL1pO8TGxnLeeed13h45ciRlZWUhM4ZD/lBWrVpFXl4emZmZQEf+d99993TGDCk6OrrzZ4/Hg8lkCpt9/1jZQ+lN+w6A1+vl/vvv55e//GXnsnDZ9yW03vQ5ORW9dZ8L55oNqtu9MX8ovaluh3PNPl7+UHrTvtNbarb1lF/hLFdeXk5KSgoWiwUAi8VCcnIy5eXlxMfH93C64/vv//5vDMNg9OjR/PjHP6a8vJy0tLTO++Pj4wkGg9TX1xMbG9uDSY8t1Ho3DCMstsnXt4Hb7e612yEYDPLXv/6VyZMnh8wYDvmPmD17NoFAgIkTJ3LnnXdit9uPyp+WlkZ5eXlPRO5077338vHHH2MYBn/84x/Dat//evYjwmHff/zxx7niiivo27dv57Jw3PflaKrbZ144/d0KJRz+dh2hut0zwrlmHyv/Eb193+8tNVtHnM9CL7/8Mm+99RaLFy/GMAzuv//+no70byfctsEDDzyA0+nkhhtu6Oko/5Kv5//www95/fXXefnllykuLmbhwoU9nPD4fv3rX/Phhx9y9913s2DBgp6O8085VvZw2Pe3bNlCYWEhs2bN6ukoIkB4fG7OduG2DVS3e0Y412wIz7rdm2q2GucTSE1NpbKykkAgAEAgEKCqquqfGuZzph3JZrfbmTVrFps3byY1NbXLcJhDhw5hNpt73bfWR4Ra7+GwTY61DY4s723bYf78+ezfv5/HHnsMs9kcMmM45Id/rH+Xy8XVV1993PVfVlbWa/abK6+8kg0bNtCnT5+w2/ePZK+rqwuLfX/jxo2UlJQwZcoUJk+eTEVFBbfccgv79+8Pq31fjq23fk5CCfe6He41G1S3z6SzoW6Hc82G8Krbvalmq3E+gYSEBHJzc1m6dCkAS5cuJTc3t9cNLzqipaWFpqYmAAzD4J133iE3N5e8vDza2tr49NNPAVi0aBHTp0/vyaghhVrvvX2bHG8bAL1uOzz66KMUFhaycOFC7Hb7CTOGQ/6Ghgba2toA8Pv9LF++vHP9T5gwge3bt3fOarlo0SIuu+yyHsne3NzcZbjZypUriYmJCYt9/3jZHQ5HWOz7t99+O2vWrGHlypWsXLmSPn368Nxzz3HrrbeGzb4vx9dbPicn62yo2+HwdysU1e0zJ1zrdjjX7FD5w6Fu96aabTIMwzjlVznLlZSUMGfOHBobG3G73cyfP5+srKyejnVMBw8e5M477yQQCBAMBsnOzubnP/85ycnJbN68mfvuu4/29nbS09N5+OGHSUxM7OnIPPjgg6xYsYKamhri4uKIjY3l73//e8j13lu2ybGyP/PMM8fdBkCv2Q579uxhxowZZGZmEhERAUDfvn1ZuHBhyIy9Pf+tt97KvHnzMJlM+P1+Ro0axdy5c4mKigLg/fff5+GHHyYYDJKbm8tDDz2E0+k84/lramq44447aG1txWw2ExMTwz333MOwYcN6/b5/vOxutzss9v2vmzx5Ms888wyDBw8Oi31fTqw3fE5OVrjV7XCu2cfLr7rds/nDoW6Hc80OlT8c63ZP1mw1ziIiIiIiIiIhaKi2iIiIiIiISAhqnEVERERERERCUOMsIiIiIiIiEoIaZxEREREREZEQ1DiLiIiIiIiIhKDGWUROWU5ODsuWLevpGCIiInISVLdF/nnWng4gIqdmzpw5vPHGG0ctHzFiBK+88koPJBIREZHjUd0WCU9qnEXOAuPGjWPBggVdltlsth5KIyIiIqGobouEHw3VFjkL2O12kpKSuvyLjY0FOoZjvfTSS9x+++2MGDGCSZMm8eabb3Z5/u7du7npppvIz8/n3HPPZc6cOTQ1NXV5zBtvvMHMmTPJy8tj3Lhx3HPPPV3ub2ho4K677mLkyJFMmTLlqN/x1FNPMWnSJPLy8hg/fjw//elPT8OaEBER6f1Ut0XCjxpnkX8DTz75JJMnT2bJkiVcc8013HPPPWzfvh2AlpYWbrnlFpxOJ6+++ipPPfUUW7ZsYe7cuZ3PX7RoEfPmzeOb3/wmb731Fn/4wx8YNGhQl9+xcOHCzsL7jW98g3vvvZeysjIAli9fzvPPP899993HihUreOaZZ8jPzz9zK0BERCSMqG6L9D4aqi1yFli9ejWjRo3qsmzWrFn85Cc/AWDq1Klcd911AHz/+99nw4YN/OlPf+KRRx5h6dKltLa2smDBAlwuFwD3338///mf/8n+/fvJyMjg6aef5sYbb+Q73/lO5+vn5eV1+X0FBQUUFBQA8MMf/pAXX3yRjRs3UlBQQFlZGUlJSYwfPx6bzUZaWhrDhw8/betDRESkN1PdFgk/apxFzgJjxozhgQce6LIsOjq68+eRI0d2uW/kyJF89NFHAJSUlJCTk9NZfAFGjRqF2WymuLgYl8tFZWUlF1xwQcgMOTk5nT9brVbi4+M5dOgQANOnT+fFF19kypQpXHjhhUyYMIEpU6Zgt9v/tTcsIiISxlS3RcKPGmeRs0BkZCQZGRnd/romk+mkH2u1dv1zYjKZCAaDAKSmprJs2TLWrVvH2rVrmT9/PgsXLuSVV17B6XR2a2YREZHeTnVbJPzoHGeRfwPbtm076nZWVhYA2dnZFBUV4fF4Ou/fsmULwWCQ7OxsEhISSElJYd26daeUweFwcPHFFzN37lxee+019uzZw+bNm0/pNUVERM5GqtsivY+OOIucBbxeL9XV1V2WWSwW4uPjAVixYgXDhw/n3HPPZfny5axbt67zWpEzZ87kiSee4J577uGuu+6isbGRefPmcemll3Z+G/69732P3/72tyQmJnLRRRfR1tbGunXruPnmm08q3+uvv04gECA/Px+n08m7776LzWY7Ld+2i4iI9Haq2yLhR42zyFlg7dq1XHjhhV2WpaSksGrVKgDuvPNOli9fzoMPPkh8fDy//e1vO2fHjIyM5LnnnuM3v/kNV199NQ6HgylTpnDvvfd2vtasWbOw2Wy88MILPPLII8TExDBx4sSTzud2u3n22WeZP38+fr+f7OxsnnzySfr169cN715ERCS8qG6LhB+TYRhGT4cQkdMnJyeHxx9/nOnTp/d0FBERETkB1W2R3knnOIuIiIiIiIiEoMZZREREREREJAQN1RYREREREREJQUecRUREREREREJQ4ywiIiIiIiISghpnERERERERkRDUOIuIiIiIiIiEoMZZREREREREJAQ1ziIiIiIiIiIh/C+hU/MtP06D+wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model_with_anneal.display_metrics()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "id": "s7IntcrU36Up"
   },
   "outputs": [],
   "source": [
    "ndcg_val_with_anneal = model_with_anneal.ndcg_per_epoch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Dm-cER0nSgBI"
   },
   "source": [
    "Using the optimal beta as anneal cap , we retrain our model. \n",
    "\n",
    "When NDCG@k of validation set reach a peak, the weights of the model are saved. Using this model we evaluate the test set. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "pKElh6WG49_g",
    "outputId": "8f3493fd-9175-4f1e-faf7-4437d29ee29c"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The optimal beta is:  0.078125\n"
     ]
    }
   ],
   "source": [
    "# Get optimal beta \n",
    "optimal_beta = model_with_anneal.get_optimal_beta()\n",
    "print( \"The optimal beta is: \", optimal_beta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "id": "_bQ_l0uk5II9"
   },
   "outputs": [],
   "source": [
    "model_optimal_beta = Mult_VAE(n_users=train_data.shape[0], # Number of unique users in the training set\n",
    "                              original_dim=train_data.shape[1], # Number of unique items in the training set\n",
    "                              intermediate_dim=INTERMEDIATE_DIM,\n",
    "                              latent_dim=LATENT_DIM,\n",
    "                              n_epochs=EPOCHS,\n",
    "                              batch_size=BATCH_SIZE,\n",
    "                              k=TOP_K,\n",
    "                              verbose=0,\n",
    "                              seed=SEED,\n",
    "                              save_path=WEIGHTS_PATH,\n",
    "                              drop_encoder=0.5,\n",
    "                              drop_decoder=0.5,\n",
    "                              annealing=True,\n",
    "                              anneal_cap=optimal_beta,  \n",
    "                              )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 32
    },
    "id": "Ev6NJ4Wg8Mrx",
    "outputId": "8b8f20d9-74af-4157-c280-6052e0af47f3"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 729.9343 seconds for training.\n"
     ]
    }
   ],
   "source": [
    "with Timer() as t:\n",
    "    model_optimal_beta.fit(x_train=train_data, \n",
    "                           x_valid=val_data, \n",
    "                           x_val_tr=val_data_tr, \n",
    "                           x_val_te=val_data_te_ratings, \n",
    "                           mapper=am_val\n",
    "                           )\n",
    "    \n",
    "print(\"Took {} seconds for training.\".format(t))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 269
    },
    "id": "yFg4TaHoQMUQ",
    "outputId": "a5b5bd95-d7d3-4fc6-f92a-deb2b45e4dd1"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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n34agIqKCjIyMrBYWnp2LRYL6enpVFRUkJqaGm3002aytxTOtqAftzfQ6fcXERE55vrrr+e3v/0t5513HldccUWrtnfffZenn36aX//616e8TllZGQUFBdTV1ZGcnExRUREDBgxodc6KFSt4/vnnMZvNBINBbrjhBn72s58BsGjRIlavXo3ZbMZmszFr1izGjBkDQEFBAevXryclJQWACRMmcPvtt3fApz89gcZG9TiLiEhUoi6c2ysQCLB3716GDRvG7Nmz+fzzz7ntttt45513+OMf/8jixYsZNWoUJSUl/OpXv+rQBU22bNnSMReKaxmqHRfy8dnnW6guj61tLEpKSoyO0G7KboxYzg6xnV/ZjRFL2W+44QY2bNjAv//7v3PuuecycOBAAHbs2MHu3bu5+uqrueGGG055nUimRI0fP57rrrsOk8lEQ0MDEydO5OKLL2bo0KGMGDGCm2++GafTybZt25g6dSofffQRDocDgFtvvZWpU6d2/C+gnUKhEP6GRizqcRYRkSh0WuHscrmwWq3hYdcjR44kJSWFsrIyqqqqwvtCjxo1CqfTyY4dO+jTpw+VlZUEAgEsFgtsykb6AAAgAElEQVSBQICqqipcLldU987NzcXeAXs1bnpvLQBxQT/nnHse38tOP+1rdpaSkpLw7zjWKLsxYjk7xHZ+ZTdGR2T3eDwd97A2Ar/73e/48Y9/THFxMbt27SIUCjFw4EDuuusufvKTn5zy/cemRD333HNAy5SoBx54gJqamlYju/5+yyu3243P5wtPuzrWuwyQnZ1NKBSirq6OzMzMjvqYHSro8RAKBDRUW0REotJphXNqaiqXXHIJ69at49JLL6WsrIzq6moyMzM5cOAAO3fuZODAgezYsYPq6mr69+9PcnIyOTk5FBcXk5+fT3FxMTk5OYYM0wa+63EO+nB7NcdZRESM95Of/CSiIvlEopkS9d5777Fw4UL27NnD3XffTXZ29nHXW7lyJf37929VND/33HMsW7aMfv36cffddzNo0KB2Ze0o/oZGAA3VFhGRqERUON92220nbW9sbIzoZvPnz2fOnDkUFRVhtVpZsGABvXv3Zt68ea0WDXvooYdITk4GYN68eRQUFLB48WKSkpIoKiqK6F5nxNFe67ign2aP5jiLiIjxGhoaWL9+PXv37sVkMtG/f3++//3vt+ol7gjjxo1j3LhxlJeXc8cddzB27Njw8HCATz75hMcff5xnn302fGzWrFn07t0bs9nMypUrueWWW3j33XfDhXokOrIHv6SkhGBVFQB7KivZH0ND82NpGsE/UnbjxHJ+ZTeGsrctosL52KIeJ2vv27fvKa/Tr1+/E66+fe2113Lttdee8D2DBg1i+fLlkcQ840wWC1gs6nEWEZEuYfXq1cybN48jR460Op6UlMT8+fO5+uqrT/p+l8sV9ZSorKwshg8fzvvvvx8unDdv3sy9997L4sWLWxXTGRkZ4Z8nTZrEww8/zIEDB+jTp0/En7GjplsdG4p/pPQrvgQGDx9OyvcuOO3rdobuPgXCKLGcHWI7v7Ibo7tnP9V0q4gK54cffvi0QpxNLE4ncSEfbm1HJSIiBvr666+57777GD9+PNOmTeO8884jFAqxfft2nn32We69914GDhx4wiHVx6SlpUU0JWrHjh3hIdY1NTVs2LCBq666CoAvvviCWbNm8cQTT3D++ee3el9lZWW4eP7www8xm82timkjBNxuoOX7XEREJFKdNsf5bGF1Oolza6i2iIgY64UXXmDMmDE8+uijrY7n5uaycOFCbr/9dl544QUefPDBk16nrSlR06dP56677mL48OEsW7aMdevWYbVaCYVCTJ06lUsvvRRomYbldruZO3du+JoLFiwgOzub2bNnU11djclkIjExkaeeegqr1dh/egQ9HgAsHdCLLSIi3YcK5yhZnA4cbr+GaouIiKE2bdrEnDlz2mz/6U9/ykMPPXTK67Q1JWrJkiXhn092nxUrVrTZ9vzzz5/y/p0t4PECYI6LMziJiIjEErPRAWKNxenEgZ9mDdUWEREDVVZWnnSF6oEDB1JZWdmJiWJD0NvS42xWj7OIiERBhXOUzA4H9pAft4Zqi4iIgZqbm3E4HG22OxwO3Efn88p3jg3VNtvV4ywiIpHTUO0otSwOpqHaIiJivK+//pqePXuesK22traT08SGoIZqi4hIO6hwjpLF4cAW8GmotoiIGG7atGmEQqE2200mUyemiQ2BYz3OKpxFRCQKKpyjZHE6sWkfZxERMdh7771ndISYFPR6McfF6aGCiIhERYVzlCxOB1a/V9tRiYiIoRISEoyOEJOCHq8WBhMRkaipcI6SxenEHAzgcXuMjiIiIt3Y97///VP2mppMJkpLSzspUWwI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eX1fS+ubQvzfFdvBgnEjy+ls3sWF536JlesbCIXj/HXVLi4YN4T2UJS9TSHqqkqpP9DFiKFFLPn7drbuaWdQaS7jz6zgL//YQdL9qCSdeXoJG3e0UJDrwxjo7I5hWzCwNJfmjgjmwzPwHz+z/0k5jiGWMFjGUFFegN/nsKO+A4yhtjJIW8xmf2s3//2/RlPubznlzjgDbNu2jblz59LR0UFBQQHz58+nqqqKG264gZtvvpnRo0fzjW98g7179/Y2xAALFiygpqaGa665hubmZizLIi8vj9tvv52xY8cC0NTUxG233UZ9fT1+v5+f//znfPGLXzyqXMdrLI0xrPzGldhfnsCXb//fn3k/6aTXs/TI5uyQ3fmVPT1O9ew64ywiIkftcF/CV1mWR2XZ4f/+bWVZHv/99Y+W3b777l48js35Y3vOdF/yleH9Ptaks4fSFYmTF/BiWRaTzh6CMVBamIPP65AX8LJi3V5qh5dSUphDfVOIsqIAOX4POxs6WLZqFz6PzZgRZeT4HELhOB2hKLkBL16PQ1c4zobtzQwuy6W8OMjvlmzE67GZ/c2epu7/LP0PJQVeTh88kDWb9jNtzKlZEqurq3n++ecP2f7kk0/2Xn7hhRf6vf/vfve7fm8rKytLefsJYUzPqqqhg9ObQ0REstqp+VuCiIiknW1b5Ad9vddHDC0+5GcuGDek9/LQivzey8MHFXDj5aOP+BgXfvGj+08c0/fb6i+eMKzP9XfffffIoSXrWLbNWQ8+oOMrIiLH5IT9HWcRERERERGRbKTGWURERERERCQFNc4iIiIiIiIiKahxFhEREREREUlBjbOIiIiIiIhICmqcRURERERERFJQ4ywiIiIiIiKSghpnERERERERkRQ86Q7weTLGABCLxY7bPqPR6HHb14mm7Omh7OmTzfmVPT2ONfvBenOw/shnpxrel7KnRzZnh+zOr+zpcSpnP1INt8xJXN07OzvZvHlzumOIiMgpZuTIkeTn56c7RlZTDRcRkXTor4af1I2z67p0dXXh9XqxLCvdcURE5CRnjCEej5Obm4tt69NQx0I1XERETqQj1fCTunEWEREREREROVZ6O1xEREREREQkBTXOIiIiIiIiIimocRYRERERERFJQY2ziIiIiIiISApqnEVERERERERSUOMsIiIiIiIikoIaZxEREREREZEU1Dgf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RbKLlmqLZDGfz0dZWVmff0VFRUDPEqw//OEP3HjjjZx11llMmjSJP//5z33uv2nTJq655hrGjBnDOeecw9y5c+ns7OzzMy+99BIzZsygrq6OiRMnMmfOnD63t7e3c/PNNzN27FimTJlyyGM89thjTJo0ibq6Os4991xuv/32z2EkREREsotquEh2UeMschJ79NFHmTx5MosXL+ab3/wmc+bMYf369QB0d3dz3XXXEQwGef7553nsscdYu3Yt8+bN673/okWLuPPOO/n617/Oyy+/zK9//WtGjBjR5zEWLlzYW2wvvfRS7rjjDurr6wFYunQpTz/9NHfddRfLli3jiSeeYMyYMSduAERERLKUarhIZtFSbZEstmLFCsaNG9dn26xZs7jtttsAuOiii7jqqqsA+P73v8+qVav4/e9/z0MPPcSSJUsIh8MsWLCAvLw8AO6++26+/e1vs2vXLoYNG8bjjz/Od77zHb773e/27r+urq7P482cOZOZM2cC8MMf/pBnnnmG1atXM3PmTOrr6ykrK+Pcc8/F6/VSWVnJ6NGjP7fxEBERyRaq4SLZRY2zSBYbP34899xzT59t+fn5vZfHjh3b57axY8fyt7/9DYBt27ZRU1PTW3ABxo0bh23bbN26lby8PBobG/nKV76SMkNNTU3vZY/HQ0lJCS0tLQBMmzaNZ555hilTpnDeeedx/vnnM2XKFHw+32f7D4uIiJwkVMNFsosaZ5EsFggEGDZs2HHfr2VZR/2zHk/flxHLsnBdF4BBgwbx2muvsXLlSt566y3mz5/PwoULee655wgGg8c1s4iISDZRDRfJLvqMs8hJ7L333jvkelVVFQDV1dVs3ryZUCjUe/vatWtxXZfq6mpKS0upqKhg5cqVx5TB7/fz1a9+lXnz5vGnP/2JLVu2sGbNmmPap4iIyMlONVwks+iMs0gWi8ViNDU19dnmOA4lJSUALFu2jNGjR3POOeewdOlSVq5c2fv3IWfMmMEjjzzCnDlzuPnmm+no6ODOO+/k4osv7n0H/Hvf+x73338/AwYM4MILLyQSibBy5Uquvfbao8r34osvkkwmGTNmDMFgkFdffRWv1/u5vMMuIiKSTVTDRbKLGmeRLPbWW29x3nnn9dlWUVHBm2++CcDs2bNZunQp9957LyUlJdx///2934gZCAR46qmnuO+++7jiiivw+/1MmTKFO+64o3dfs2bNwuv18tvf/paHHnqIwsJCLrjggqPOV1BQwJNPPsn8+fNJJBJUV1fz6KOPMnTo0OPwvxcREclequEi2cUyxph0hxCR46+mpoaHH36YadOmpTuKiIiIfAqq4SKZR59xFhEREREREUlBjbOIiIiIiIhIClqqLSIiIiIiIpKCzjiLiIiIiIiIpKDGWURERERERCQFNc4iIiIiIiIiKahxFhEREREREUlBjbOIiIiIiIhICmqcRURERERERFL4/4kqWrF0k0gpAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model_optimal_beta.display_metrics()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "-__MfUTt80zZ"
   },
   "outputs": [],
   "source": [
    "ndcg_val_optimal_beta = model_optimal_beta.ndcg_per_epoch()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "UEk7xuF9TESQ"
   },
   "source": [
    "#### Prediction and Evaluation of Standard-VAE model using the optimal $\\beta$ with annealing."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "43oRwBwR-phU"
   },
   "source": [
    "Evaluate with recommending 10 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "id": "seci50k9-rZe",
    "outputId": "870d0155-4edc-451f-970a-f9f1a6f3ebd1"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.7309 seconds for prediction.\n",
      "MAP@10:\t\t0.060963\n",
      "NDCG@10:\t0.479878\n",
      "Precision@10:\t0.450333\n",
      "Recall@10: \t0.092874\n"
     ]
    }
   ],
   "source": [
    "# Use k = 10\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_optimal_beta.recommend_k_items(x=test_data_tr,\n",
    "                                                  k=10,\n",
    "                                                  remove_seen=True\n",
    "                                                  )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_3 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_ndcg_3 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_precision_3 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "eval_recall_3 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=10)\n",
    "\n",
    "print(\"MAP@10:\\t\\t%f\" % eval_map_3,\n",
    "      \"NDCG@10:\\t%f\" % eval_ndcg_3,\n",
    "      \"Precision@10:\\t%f\" % eval_precision_3,\n",
    "      \"Recall@10: \\t%f\" % eval_recall_3, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "UI74y2hq-wA2"
   },
   "source": [
    "Evaluate with recommending 100 items."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "id": "q8SMojRh-wdw",
    "outputId": "90443818-1b4d-4039-cb43-b4a630b95ae6"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Took 0.4572 seconds for prediction.\n",
      "MAP@100:\t0.162202\n",
      "NDCG@100:\t0.430035\n",
      "Precision@100:\t0.244350\n",
      "Recall@100: \t0.392054\n"
     ]
    }
   ],
   "source": [
    "# Use k = 100s\n",
    "with Timer() as t:\n",
    "    # Model prediction on the training part of test set \n",
    "    top_k =  model_optimal_beta.recommend_k_items(x=test_data_tr,\n",
    "                                                  k=TOP_K,\n",
    "                                                  remove_seen=True\n",
    "                                                  )\n",
    "\n",
    "    # Convert sparse matrix back to df\n",
    "    top_k_df = am_test.map_back_sparse(top_k, kind='prediction')\n",
    "    test_df = am_test.map_back_sparse(test_data_te_ratings, kind='ratings') # use test_data_te_, with the original ratings\n",
    "    \n",
    "print(\"Took {} seconds for prediction.\".format(t))\n",
    "\n",
    "# Use the ranking metrics for evaluation\n",
    "eval_map_4 = map_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_ndcg_4 = ndcg_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_precision_4 = precision_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "eval_recall_4 = recall_at_k(test_df, top_k_df, col_prediction='prediction', k=TOP_K)\n",
    "\n",
    "print(\"MAP@100:\\t%f\" % eval_map_4,\n",
    "      \"NDCG@100:\\t%f\" % eval_ndcg_4,\n",
    "      \"Precision@100:\\t%f\" % eval_precision_4,\n",
    "      \"Recall@100: \\t%f\" % eval_recall_4, sep='\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qdJLfa7bknGM"
   },
   "source": [
    "# 5 Conclusion "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rQVuke1jkqAf"
   },
   "source": [
    "Through this notebook is proven that Mult-VAE has competitive performance. \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "QUdtIvOnsJaQ"
   },
   "source": [
    "From the plot below, we can see that the model using annealing outperforms the model without annealing. Specifically, the results of evaluating the test set, for the the 2 different approaches, are:\n",
    "\n",
    "\n",
    "| Model | NDCG@100 | NDCG@10 | \n",
    "| --- | --- | --- | \n",
    "| Mult-VAE (wihtout annealing, β=1)| 0.384 | 0.430 | \n",
    "| Mult-VAE (with annealing, optimal β)| 0.430 | 0.479 | \n",
    "\n",
    "\n",
    "This annealing procedure is used as an efficient way to tune the parameter $\\mathbf \\beta$. Otherwise, training multiple models using different values of $\\mathbf \\beta$ can be really time consuming. \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 376
    },
    "id": "yLTbVK5TAiG4",
    "outputId": "a27adbfe-96d5-49e5-850c-d985e526c594"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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DqXeqHBsgjp16kR2djaVlZUAVFZWkpOTU6fby6RubufWbDYzbtw4jhw5QqdOnardypSXl4eDg0OT+IvPo8jWca9zouHd7Ry4PV3nQf2Kj4/nu+++47/+679wcHCwmWPlv37dmXv417Hv5uZGRERErcf+pUuXdM2pJ6NGjeLgwYN07NhR1/1Gdjv3169f13W/gR06dIizZ88yYsQIgoODuXLlChMnTuS7775rttd8FY5NULt27fDz82P79u0AbN++HT8/P92a0UCKi4spKCgAwDAM/vKXv+Dn54e/vz8lJSVkZGQAkJyczMiRI+0Z6iPN1nGvc6Jh1XYOADoP6tlHH31EZmYmK1euxGw2A7ZzrPzXn7vl/saNG5SUlABQUVHBrl27rMd+UFAQJ06csI7kmZyczL//+7/bJfbmrqioqNptvmlpaXh4eOi63whqy72zs7Ou+w1s8uTJfPHFF6SlpZGWlkbHjh354x//yJtvvtlsr/kmwzAMewchNZ09e5bo6Gjy8/Nxd3cnPj6eHj162DusR9L333/P22+/TWVlJVVVVfj4+PCb3/yGJ554giNHjjBv3jxKS0vp0qULv//973n88cftHXKz9/7777N7926uXbvGY489hqenJ//7v/9r87jXOVE/7pb7NWvW1HoOADoP6sk///lPQkND6datGy4uLgA8+eSTrFy50maOlf+HV1vu33zzTebOnYvJZKKiooJ+/foRExODq6srAHv27OH3v/89VVVV+Pn5sWjRItq0aWPPXWmWrl27xltvvcXNmzdxcHDAw8OD2bNn06tXL133G1htuXd3d9d1v5EFBwezZs0aevbs2Wyv+SocRURERERExCbdqioiIiIiIiI2qXAUERERERERm1Q4ioiIiIiIiE0qHEVERERERMQmFY4iIiIiIiJikwpHERGRZsTX15edO3faOwwREWlhnOwdgIiISHMRHR3N1q1ba0zv06cPGzZssENEIiIijUOFo4iISB0MGTKExYsXV5vWqlUrO0UjIiLSOHSrqoiISB2YzWbat29f7Z+npydw6zbStWvXMnnyZPr06cPw4cNJSUmptnxWVhavv/46AQEBPPvss0RHR1NQUFBtnq1btxIWFoa/vz9Dhgxh9uzZ1dpv3LjBlClT6Nu3LyNGjKixjRUrVjB8+HD8/f157rnnmDVrVgNkQkREWhIVjiIiIvVo+fLlBAcHs23bNsaMGcPs2bM5ceIEAMXFxUycOJE2bdqwceNGVqxYwdGjR4mJibEun5yczNy5cxk9ejSfffYZ//3f/81Pf/rTattYuXKltWB86aWXmDNnDpcuXQJg165dfPzxx8ybN4/du3ezZs0aAgICGi8BIiLySNKtqiIiInVw4MAB+vXrV23auHHjmDlzJgAvvvgir776KgBRUVEcPHiQP/3pT3zwwQds376dmzdvsnjxYtzc3ACIi4tjwoQJfPfdd3Tt2pVVq1bxH//xH7zxxhvW9fv7+1fbnsViwWKxAPDOO++QlJTEoUOHsFgsXLp0ifbt2/Pcc8/RqlUrOnfuTO/evRssHyIi0jKocBQREamDAQMGMH/+/GrT2rZta/3ct2/fam19+/Zl//79AJw9exZfX19r0QjQr18/HBwcOHPmDG5ubmRnZzN48GCbMfj6+lo/Ozk54eXlRV5eHgAjR44kKSmJESNGMHToUIKCghgxYgRms/nBdlhERAQVjiIiInXSunVrunbtWu/rNZlM9z2vk1P1X98mk4mqqioAOnXqxM6dO0lPT+fLL78kPj6elStXsmHDBtq0aVOvMYuISMuhZxxFRETq0bFjx2p879GjBwA+Pj6cPn2awsJCa/vRo0epqqrCx8eHdu3a0aFDB9LT0x8qBmdnZ1544QViYmLYtGkT//znPzly5MhDrVNERFo29TiKiIjUQVlZGVevXq02zdHRES8vLwB2795N7969efbZZ9m1axfp6enWdzyGhYWxbNkyZs+ezZQpU8jPz2fu3Ln87Gc/s/Zi/vKXv2ThwoU8/vjjPP/885SUlJCenk5kZOR9xbdlyxYqKysJCAigTZs27Nixg1atWjVIL6mIiLQcKhxFRETq4Msvv2To0KHVpnXo0IG//e1vALz99tvs2rWL999/Hy8vLxYuXGgd1bR169b88Y9/ZMGCBURERODs7MyIESOYM2eOdV3jxo2jVatWfPLJJ3zwwQd4eHgwbNiw+47P3d2dhIQE4uPjqaiowMfHh+XLl/PUU0/Vw96LiEhLZTIMw7B3ECIiIo8CX19fli5dysiRI+0dioiISL3SM44iIiIiIiJikwpHERERERERsUm3qoqIiIiIiIhN6nEUERERERERm1Q4ioiIiIiIiE0qHEVERERERMQmFY4iIiIiIiJikwpHERERERERsUmFo4iIiIiIiNj0/wD+rKcsj1VpnwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "tags": []
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot setup\n",
    "plt.figure(figsize=(15, 5))\n",
    "sns.set(style='whitegrid')\n",
    "\n",
    "# Plot NDCG@k of validation sets for three models\n",
    "plt.plot(ndcg_val_without_anneal, color='b', linestyle='-', label='without anneal')\n",
    "plt.plot(ndcg_val_with_anneal, color='g', linestyle='-', label='with anneal at β=1')\n",
    "plt.plot(ndcg_val_optimal_beta, color='r', linestyle='-', label='with anneal at optimal β')\n",
    "\n",
    "# Add plot title and axis names\n",
    "plt.title('VALIDATION NDCG@100 FOR DIFFERENT MODELS \\n', size=16)\n",
    "plt.xlabel('Epochs', size=14)\n",
    "plt.ylabel('NDCG@100', size=14)\n",
    "plt.legend(loc='lower right')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "eb1SMp0NTOGB"
   },
   "source": [
    "Both for choosing the optimal $\\mathbf \\beta$ and the optimal model weights the NDCG@100 evaluation metric is used for the validation set (section [4], Paragraph: __Model Training__) as proposed from [[Liang, Dawen, et al,2018]](https://arxiv.org/pdf/1802.05814.pdf). \n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "82KmKc8AYYy2"
   },
   "source": [
    "\n",
    "Last but not least, it is worth mentioning that for different shuffling of input data, the model may need again hyperparameter tuning or may not work properly since the training dataset may not be indicative for the test set.  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Y7KDua9pM-XB"
   },
   "source": [
    "# 6 References"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "U6SRNqHjNBel"
   },
   "source": [
    "[Liang, Dawen, et al, 2018] [Liang, Dawen, et al. \"Variational autoencoders for collaborative filtering.\" Proceedings of the 2018 World Wide Web Conference. 2018.](https://dl.acm.org/doi/pdf/10.1145/3178876.3186150?casa_token=zul5haircsAAAAAA:iIKn7y-xWwSeqaP-MmmyUaJoJuNZX9Fx1aXeFJwkwtMpVDCrPMW3kZjuYo1LKhSuMeUMNf1mbP2o) \n",
    "\n",
    "[Kingma et al, 2013] [Kingma, Diederik P., and Max Welling. \"Auto-encoding variational bayes.\"  (2013).](https://arxiv.org/pdf/1312.6114.pdf)\n",
    "\n",
    "[Burgess et al, 2018] [Burgess, Christopher P., et al. \"Understanding disentangling in $\\beta $-VAE.\" (2018)](https://arxiv.org/pdf/1804.03599.pdf)\n",
    "\n",
    "[Higgins et al, 2016] [Higgins, Irina, et al. \"beta-vae: Learning basic visual concepts with a constrained variational framework.\" (2016).](https://openreview.net/pdf?id=Sy2fzU9gl)\n",
    "\n",
    "\n",
    "[Bowman et al, 2015] [Samuel R. Bowman, Luke Vilnis, Oriol Vinyals, Andrew M. Dai, Rafal Jozefowicz,\n",
    "and Samy Bengio. 2015. Generating sentences from a continuous space. (2015).](https://arxiv.org/pdf/1511.06349.pdf)\n"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "celltoolbar": "Tags",
  "colab": {
   "collapsed_sections": [
    "XcSewSRc7Em7"
   ],
   "machine_shape": "hm",
   "name": "multi_vae_deep_dive.ipynb",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
